可以是变量
也可以是常量构造方法
有构造方法,但不能自身实例化
那么,构造方法的作用是什么呢?用于子类访问父类数据的初始化成员方法
可以有抽象方法,限定子类必须完成某些操作
也可以说有非抽象方法:提高代码复用性 图文和代码解释
图:注意Animal是抽象类父类(图标)
Animal(抽象类父类)package CCom.Cnn;//抽象类public abstract class Animal { private int age; public final String name="沸羊羊"; //可以是常量,也可以是变量,可以私有,也可以说是公共的 private int number; private final String good="100"; //并且还有构造器(无惨/有参) public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public Animal() { }//可以有无参 public Animal(int age, int number) { this.age = age; this.number = number; }//可以有带参 public abstract void eat();//抽象方法 public void sleep(){ System.out.println("睡觉"); }//不是抽象方法也可以定义 }
AnimalDemo(测试类)package CCom.Cnn;public class AnimalDemo { public static void main(String[] args) { Animal a=new Cat(14,16);//抽象类也是以多态方法进行 a.eat(); a.sleep(); System.out.println(a.getAge()+","+a.getNumber());//注意了抽象类可以属性私有get/set的 }}
Cat(子类)package CCom.Cnn;public class Cat extends Animal { public Cat(int a,int b) { super(a,b);//可以调用父类(抽象类)变量 } public void eat(){ System.out.println("猫吃猫粮"); }//子类实现抽象类的eat抽象方法}
输出的结果:
猫吃猫粮
睡觉
14,16