package itheima_03;
/*
抽象类
*/
public abstract class Animal {
private int age =20;
private final String city = "北京";
public Animal(){}
public Animal(int age){
this.age=age;
}
public void show(){
age = 40;
System.out.println(age);
// city = "上海";
System.out.println(city);
}
public abstract void eat();
}
package itheima_03;
/*
测试类
*/
public class AnimlaDemo {
public static void main(String[] args) {
Animal a = new Cat();
a.eat();
a.show();
}
}
package itheima_03;
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
抽象类的成员特点
成员变量
可以是变量
也可以是常量
构造方法
有构造方法,但不能实例化
那么,构造方法的作用是什么呢?用于子类访问父类数据的初始化
成员方法
可以有抽象方法:限定子类必须完成某些动作
也可以提高非抽象方法:提高代码复用性
本文探讨了Java中抽象类Animal的定义,包括成员变量如年龄和城市,构造方法的作用,以及抽象方法eat的实现。通过AnimalDemo测试类展示如何创建Cat子类并调用父类方法。
677

被折叠的 条评论
为什么被折叠?



