看下面的程序:
abstract class Sequare{
abstract int sequare(int i); //抽象的方法
}
class Sqart extends Sequare{
int sequare(int i){
return i*i;
}
}
class AbstractDemo{
public static void main(String args[]){
Sqart sqrt = new Sqart();
System.out.println("5 is:"+sqrt.sequare(5));
}
}
正如我们看到的注释一样sequare()是抽象的,它的类Sequare也必须是抽象的。那么也就是说继承它的类Sqart必须实现sequare()
如果不这样做,会引起程序的编译错误。
抽象类可能没有对象,也就是说它不可能用New运算符直接创建对象实例。这点很容易理解。因为一个抽象类没有被完全定义,
所以这种对象是无用的。也不能声明抽象构造函数或者抽象的静态方法。任何一个抽象类的子类一定是实现了超类中的全部抽象
方法或把自己声明为抽象。