抽象类 关键字:abstract 抽象类里可以有抽象方法和非抽象方法;如有一个类里有抽象方法,这个类必须是抽象类 抽象类不能实例化,但是可以通过多态实现实例化 抽象类的子类必须重写抽象方法,或者它本身也是一个抽象类 抽象类和抽象方法必须使用abstract关键字修饰
abstract class Animal01{
/*
public void eat(){
System.out.println("吃东西");
}
*/
public abstract void eat();
public void sleep(){
System.out.println("睡觉");
}
}
这是一个抽象类,里面有一个抽象eat方法 在eat方法里没有代码
class Cat01 extends Animal01{
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
这是个子类继承了抽象类,重写了父类里的eat方法
public class Abstract {
public static void main(String[] args) {
//抽象类不能创建对象
// Animal01 a = new Animal01();
Animal01 a = new Cat01();
a.eat();
a.sleep();
}
}
在main方法里用多态创建子类对象,然后子类调用eat()方法和sleep方法
输出结果
注意的是抽象类不能实例化,只能通过继承的子类实现实例化
子类必须重写父类里的抽象方法,非抽象方法可以不重写