13.使用super

package extendAnimal;
/**
 * 狗狗类,宠物的子类
 */
public class Dog extends Pet {
    private String strain="牧羊犬";// 品种

    //无参构造方法
    public Dog() {
        System.out.println("子类无参构造方法");
    }

    public Dog(String name,String strain){
        super(name);
        this.strain=strain;
        System.out.println("子类带参构造方法");
    }

    public String getStrain() {
        return strain;
    }

    public void setStrain(String strain) {
        this.strain = strain;
    }

}
package extendAnimal;
/**
 * 企鹅类,宠物的子类
 */
public class Penguin extends Pet {
    private String sex="Q仔";// 性别

    //无参构造方法
    public Penguin() {
        System.out.println("子类无参构造方法");
    }

    public Penguin(String name,String sex){
        super(name);
        this.sex=sex;
        System.out.println("子类带参构造方法");
    }

    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
}
package extendAnimal;
/**
 * 宠物类,狗狗和企鹅的父类
 */
public class Pet {
    private String name = "无名氏";// 昵称
    private int health = 100;// 健康值
    private int love = 20;// 亲密度

    /**
     * 无参构造方法
     */
    public Pet() {
        System.out.println("父类无参构造方法");
    }
    /**
     * 有参构造方法
     * @param name  昵称
     */
    public Pet(String name) {
        System.out.println("父类带参构造方法");
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getHealth() {
        return health;
    }

    public void setHealth(int health) {
        if(health<0||health>100){
            System.out.println("健康值应该在0至100之间,默认值为60。");
            this.health=60;
            return;
        }
        this.health = health;
    }

    public int getLove() {
        return love;
    }

    public void setLove(int love) {
        if(love<0||love>100){
            System.out.println("亲密度应该在0至100之间,默认值为10。");
            this.love=10;
            return;
        }
        this.love = love;
    }

    /**
     * 输出宠物信息
     */
    public void print() {
        System.out.println("宠物的自白:\n我的名字叫" +
                this.name + ",我的健康值是" + this.health
                + ",我和主人的亲密程度是" + this.love + "。");
    }
}
package extendAnimal;
//测试类
public class Test {
    public static void main(String[] args) {
        // 1、创建宠物对象pet并输出信息
        Pet pet = new Pet("贝贝");
        pet.print();
        /*// 2、创建狗狗对象dog并输出信息
        Dog dog = new Dog();
        dog.setName("多多");
        dog.setHealth(90);
        dog.setLove(80);
        dog.setStrain("吉娃娃");
        dog.print();
        // 3、创建企鹅对象pgn并输出信息
        Penguin pgn = new Penguin();
        pgn.setName("大黑");
        pgn.setHealth(98);
        pgn.setLove(99);
        pgn.setSex("Q妹");
        pgn.print();*/

        Dog dog=new Dog("多多","吉娃娃");
        dog.print();
        Penguin pgn = new Penguin("大黑","Q妹");
        dog.print();
    }
}
时间: 2025-01-15 04:57:15

13.使用super的相关文章

java之路 super

1 /* 2 super关键字: 3 4 super关键字代表了父类空间的引用. 5 6 super关键字的 作用: 7 1. 子父类存在着同名的成员时,在子类中默认是访问子类的成员,可以通过super关键字指定访问父类的成员. 8 2. 创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法. 9 10 super关键字调用父类构造方法要注意的事项: 11 1. 如果在子类的构造方法上没有指定调用父类的构造方法,那么java编译器会在子类的构造方法上面加

iOS开发项目篇—13标题栏设置

iOS开发项目篇—13标题栏设置 一.添加标题栏 代码: 1 #import "YYHomeTableViewController.h" 2 #import "YYOneViewController.h" 3 4 @interface YYHomeTableViewController () 5 6 @end 7 8 @implementation YYHomeTableViewController 9 10 - (id)initWithStyle:(UITable

UIScrollView控件介绍

一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕?大?小是极其有限的,因此直接展?示在?用户眼前的内容也相当有限 (2)当展?示的内容较多,超出?一个屏幕时,?用户可通过滚动?手势来查看屏幕以外的内容 (3)普通的UIView不具备滚动功能,不能显?示过多的内容 (4)UIScrollView是一个能够滚动的视图控件,可以?用来展?示?大量的内容,并且可以通过滚 动查看所有的内容 (5)  举例:手机上的“设置”.其他?示例程序 2.UIScrollView的简

JAVA基础篇—抽象类,抽象方法

class Shape 1 package com.shape; 2 3 public abstract class Shape { 4 double area;// 5 double per;// 6 String color;// 7 public Shape() { 8 } 9 public Shape(String c){ 10 this.color=c; 11 } 12 abstract double getArea(); 13 abstract double getPer(); 14

iOS开发UI篇—UIScrollView控件实现图片缩放功能

一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对其内容进行缩放处理.也就是说,要完成缩放功能的话,只需要将需要缩放的内容添加到UIScrollView中 2.缩放原理 当用户在UIScrollView身上使用捏合手势时,UIScrollView会给代理发送一条消息,询问代理究竟要缩放自己内部的哪一个子控件(哪一块内容) 当用户在UIScrollView身上使用捏合手势时,UIScrollView会调用代理的v

iOS开发UI篇—UIScrollView控件介绍

一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕?大?小是极其有限的,因此直接展?示在?用户眼前的内容也相当有限 (2)当展?示的内容较多,超出?一个屏幕时,?用户可通过滚动?手势来查看屏幕以外的内容 (3)普通的UIView不具备滚动功能,不能显?示过多的内容 (4)UIScrollView是一个能够滚动的视图控件,可以?用来展?示?大量的内容,并且可以通过滚 动查看所有的内容 (5)  举例:手机上的“设置”.其他?示例程序 2.UIScrollView的简

iOS: 聊聊 Designated Initializer(指定初始化函数)

iOS: 聊聊 Designated Initializer(指定初始化函数) 一.iOS的对象创建和初始化 iOS 中对象创建是分两步完成: 分配内存 初始化对象的成员变量 我们最熟悉的创建NSObject对象的过程: 苹果官方有一副图片更生动的描述了这个过程: 对象的初始化是一个很重要的过程,通常在初始化的时候我们会支持成员变量的初始状态,创建关联的对象等.例如对于如下对象: 1 @interface ViewController : UIViewController 2 3 @end 4

iOS开发网络篇—数据安全

一.简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题. 如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据 “青花瓷”软件 因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交 2.常见的加密算法 MD5 \ SHA \ DES \ 3DES \ RC2和RC4 \ RSA \ IDEA \ DSA \ AES 3.加密算法的选择 一般公司都会有一套自己的加密方案,按照公司接口文档的

Archive(归档/反归档)

1 #import "ViewController.h" 2 #import "Person.h" 3 @interface ViewController () 4 5 @end 6 7 @implementation ViewController 8 9 - (void)viewDidLoad { 10 [super viewDidLoad]; 11 Person *p1 = [Person new]; 12 p1.name = @"Jackie Cha