JavaSE-11.2.2【抽象类的成员特点】

package day2.yubaby02.p2;

/*
2.3 抽象类的成员特点

    抽象类可以有成员变量
                既可以是变量,也可以是常量
    抽象类可以有构造方法
                空参构造 或/和 有参构造
                但抽象类不能直接实例化
                抽象类构造方法的作用:子类访问父类数据的初始化
    抽象类可以有成员方法
                抽象方法:限定子类必须完成某些操作
                普通方法/非抽象方法:提高代码复用性(通过继承)
 */

public class AnimalDemo {

    public static void main(String[] args) {
        Animal a = new Cat();
        a.eat();
        a.show();
    }

}

  

package day2.yubaby02.p2;

public abstract class Animal {

    private int age = 3;
    private final String city = "nanjing";

    public Animal(){}

    public Animal(int age) {
        this.age = age;
    }

    public void show(){
        age = 40; //ok --> 变量
//        city = "qd"; //error -->常量
        System.out.println(age);
        System.out.println(city);
    }

    public abstract void eat();

}

  

package day2.yubaby02.p2;

public class Cat extends Animal{

    @Override
    public void eat(){
        System.out.println("猫吃狗吗");
    }
}

  

posted @ 2021-05-28 15:23  yub4by  阅读(53)  评论(0编辑  收藏  举报