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("猫吃狗吗");
}
}