java第七章 继承 课堂笔记/作业

 static:

总结:
如果对象不创建,则普通代码块不能够被执行,当然,普通方法也无法调用
如果对象不创建,静态代码块依然能够被执行,而且,静态方法可直接通过类调用
说明,普通属性、方法、代码块是 对象级别的
静态属性、方法、代码块是 类级别的

继承:

继承可以解决编程中代码的冗余的问题,是实现代码重写重用的手段之一。

格式:

【访问修饰符】class<Subclass>extends<superclass>{  }

继承通过extends关键字实现,其中SubClass称为子类,SuberClass称为父类或基类

作业:

扫描二维码关注公众号,回复: 4974191 查看本文章
package com.jicheng;
/**
 * Pet.java
 * @author 陈
 *2019.1.18
 */
public class Pet {
    //创建一个宠物类
    
    //定义属性设立私有: 名字 、 年龄 、 亲密度 、 健康值
    private String name;
    private int age;
    private int love;
    private int health;
    
    //创建属性的set/get方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getLove() {
        return love;
    }
    public void setLove(int love) {
        this.love = love;
    }
    public int getHealth() {
        return health;
    }
    public void setHealth(int health) {
        //创建健康值set方法,加入判断,输入的健康值大于100或小于0,都默认为60
        if(health<0||health>100) {
            health = 60;
            System.out.println("输入的值超出范围,默认健康值为60");
            
        }
        this.health = health;
    }
    
    public void make() {
        //创建宠物的自白方法
        System.out.println("宠物的自白");
        System.out.println("我的名字叫"+this.name+",我今年"+this.age+"岁了"+",健康值是:"+this.health+",我和主人的亲密度是:"+this.love);
    }
}
package com.jicheng;
/**
 * Dog。java
 * @author 陈
 *2019.1.18
 */
public class Dog extends Pet {
    //创建一个继承Pte父类的Dog的子类
    
    private String kind;
    //定义一个品种的属性,设为私有

    //创建属性的set/get方法
    public String getKind() {
        return kind;
    }
    public void setKind(String kind) {
        this.kind = kind;
    }
    
    public void make() {
        //重写父类的make方法
        super.make();
        //调用父类的make方法
        System.out.println("我是一只"+this.kind);
        //输出自己私有属性
    }
}
package com.jicheng;
/**
 * Cat.java
 * @author 陈
 *2019.1.18
 */
public class Cat extends Pet {
    //创建一个继承Pet父类的Cat子类
    
    private String color;
    //定义一个私有的颜色属性
    
    //创建set/get方法
    public String getColor() {
        return color;
    }
    public void setColor(String color) {
        this.color = color;
    }
    
    public void make() {
        //重写父类的make方法
        super.make();
        //调用父类的make方法
        System.out.println("我的颜色是"+this.color);
        //输出自己的特有属性
    }
}
package com.jicheng;
/**
 * Penguin.java
 * @author 陈
 *2019.1.18
 */
public class Penguin extends Pet {
    //创建一个继承Pet父类的Penguin子类
    
    //定义设立私有属性:性别
    private String sex;

    //创建set/get方法
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        //在set方法内写判断语句:如果输入的Q仔或者Q妹,this.sex = sex;否则默认sex = Q仔
        if(sex.equals("Q仔")||sex.equals("Q妹")) {
            this.sex = sex;
        }else {
            System.out.println("输入的性别不对,默认为Q仔");
            sex = "Q仔";
        }
        this.sex = sex;
    }
    
    public void make() {
        //创建重写父类的make方法
        super.make();
        //调用父类的make方法
        System.out.println("我的性别是(Q仔、Q妹):"+this.sex);
        //输出私有的属性
    }
}
package com.jicheng;
/**
 * Test.java
 * 陈
 * 2018.1.18
 */
import java.util.Scanner;

public class Test {
    //创建一个测试类
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Dog dog = new Dog();
        //创建dog对象
        Cat cat = new Cat();
        //创建cat对象
        Penguin pen = new Penguin();
        //创建pen对象
        
        System.out.println("欢迎来到宠物店");
        System.out.println("请输入你要领养的宠物类型:(1、狗狗。2、猫。3、企鹅)");
        int i = sc.nextInt();
        //判断输入的i
        if(i == 1) {
            //如果i等于1,则选择输入下面的属性,最后调用dog的make方法
            System.out.println("您要领养狗狗的名字:");
            dog.setName(sc.next()); 
            System.out.println("请选择要领养狗狗的品种:");
            dog.setKind(sc.next());
            System.out.println("请输入领养狗狗的健康值:");
            dog.setHealth(sc.nextInt());
            dog.make();
            
        }else if(i == 2){
            //如果i等于2,则选择输入下面的属性,最后调用cat的make方法
            System.out.println("您要领养猫的名字:");
            cat.setName(sc.next());
            System.out.println("请选择要领养猫的颜色:");
            cat.setColor(sc.next());
            System.out.println("请摄入领养猫的健康值:");
            cat.setHealth(sc.nextInt());
            cat.make();
            
        }else {
            //否则i无论等于3或等于其他,则选择输入下面的属性,最后电泳pen的make方法
            System.out.println("请输入领养企鹅的名字:");
            pen.setName(sc.next());
            System.out.println("请选择领养企鹅的性别:");
            pen.setSex(sc.next());
            System.out.println("请输入领养企鹅的健康值:");
            pen.setHealth(sc.nextInt());
            pen.make();
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/qq993411626------/p/10290036.html