在设计类的时候,如果我已经设计了cricle,rectangular等等。
如果一定要定义的化,他们都是一种shape。
对于这些shape来说,我们可以给他们定义一些属性,定义一些共有的方法。
但是,很明显我们不会想创建一个shape实例出来。
拿这时候怎么办呢?
创建抽象类。
在java中,我们可以给某个类提供abstract关键字,表明此类是一个抽象类。
代码如下:
public abstract class shape { double perimeter; double area; public double getArea(){return this.area;} abstract public void setArea(); }
它含有成员变量,方法,以及一个抽象方法,他是一个抽象类。
下面系统的说一下抽象类和抽象方法的规则:
1.抽象类必须用abstract修饰,抽象方法必须用abstract修饰,抽象方法不能有方法体。
2.抽象类不能实例化,能有构造器,构造器用来给子类调用。
3.只要有抽象方法就一定是抽象类,抽象类不一定有抽象方法。
4.抽象类可以包含,成员变量,方法(普通和抽象都可以),构造器,代码块,内部类。
5.如果继承了抽象类,但没有实现所有的抽象方法,那他也是一个抽象类。
6.final修饰的类不能继承,修饰的方法不能被重写。所以与abstract不合。
7.另外,static表示属于类,但是抽象方法没有方法体,所以用static修饰没有意义,是不能这么操作的。