java开发-abstract类、final类

一般来说,abstract类在以下三种情况下使用:
(1)类中含有abstract方法。
(2)类的超类声明了abstract方法,但是在当前类中没有实现。
(3)类implement的接口中声明或继承了一个方法,在类中或者没有继承,或者没有实现。
注意:由于抽象类的不完整性,所以它不能实例化对象,拿下面的例子来说,如果写:
Point p =new Point则会编译出错。
但是可以实例化Simple类: Point p = new Simple();
 
    

abstract Class Point

{

int x=1,y=1;

void move(int dx,int dy )

{

x+=dx;

y+=dy;

alert();

  }

abstract void alert(); //因为Point类中含有抽象方法alert();所以Point为abstract类型;

 }

abstract ColorPoint extends Point

{

int color;

 } //因为ColorPoint继承了父类Point,但是没有实现父类的alert()方法,所以必须为abstract类型

class Simple extends Point{

alert(){}

 }//尽管alert()方法没有具体的实现代码,但是由于字类Simple实现了父类的方法,所以Simple不必声明为abstract类型。



如果一个类被声明为final类,表明它的定义是完整的,而且不可以有任何子类。



你可能感兴趣的:(Java)