java 抽象 abstract关键字

来源:互联网 发布:ipad看书软件 编辑:程序博客网 时间:2024/05/19 00:37

abstract用来修饰类或者是成员方法,用来表示抽象的意思。

1,abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型,抽象类就像当于一类的半成品,需要子类继承并覆盖其中的抽象方法。2,abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明(定义)而没有实现,实现部分以";"代替,换句话说就是没有方法体,没有方法体当然不能被对象直接调用了。需要子类继承实现(覆盖)。
网上关于抽象的东西说的很多,但是基本都是意思一样的

注意:

1.有抽象方法的类一定是抽象类,但是抽象类不一定要有抽象方法。

2.抽象类不可以直接new一个对象出来,因为一个对象可以直接调用类中的方法,但是抽象类中的方法是没有方法体的,所有是不能直接调用的,那么抽象类就不能直接生成一个对象,需要被子类继承实现其抽象方法之后才能生成一个对象。

3.final关键字,意思就是不能被继承,所以不能用来修饰抽象类、

4.private关键字无法被子类使用,所以抽象方法一定要定义成public或者protect。

5.static关键字也不能修饰抽象方法,因为静态方法可以被类名.方法名的方式直接调用,这显然对于抽象方法来说是不行的

6.一个类只能继承一个父类,但是一个类可以实现多个接口