当类被abstract修饰,即为抽象类,方法被abstract修饰,即为抽象方法
关键词:继承,多态,父类引用指向子类
下面看一个例子:
abstract class Animal{
abstract void sing();
}
class Dog extends Animal{//继承,重写
void sing(){
System.out.println("汪汪唱歌");
}
}
class Cat extends Animal{//继承,重写
void sing(){
System.out.println("喵喵唱歌");
}
}
public class Test{
public static void main(String[] args){
Animal c=new Cat();//父类引用指向子类对象
c.sing();
}
}
几点说明:继承,重写,父类引用指向子类是三个条件
抽象方法只能在抽象类中,抽象类是不能被创建对象的
抽象类中的方法要实现必须由子类重写然后创建子类对象来调用
抽象类可以定义非抽象方法
如果子类只重写一部分的抽象方法,那么该子类还是一个抽象类,抽象类中的方法要被使用,必须重写所有抽象方法