abstract class A
{
abstract void callme();
}
class B extends A
{
void callme()
{
System.out.println("this is callme.");
}
public static void main(String[] args)
{
B b=new B();
b.callme();
}
}
//如果可以通过覆盖为什么使用抽象来完成
class Animal
{
Animal myType()
{
return new Animal();
}
}
class Dog extends Animal
{
Dog myType() //Legal override after Java5 onward
{
return new Dog();
}
}
答案 0 :(得分:0)
抽象类主要用于绑定子类以赋予其抽象方法的主体。 在非抽象类中,你没有绑定子类来赋予它的方法体。
在B类中,它必须给出callme()的主体;其中
在类Dog中,它不是强制赋予myType()的主体;