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