DAY13面向对象高--抽象类

抽象类

抽象(abstract)

当父类的某些方法,需要声明,但是又不确定如何实现时(没有方法体),可以将其声明为抽象方法,那么这个类就是抽象类

public abstract void eat ;

当该类存在抽象方法时,需要将该类声明为abstract类

介绍

1,用 abstract 关键字来修饰一个类时,这个类就叫抽象类

访问修饰符 abstract 类名{

}

2,用abstract 关键字来修饰一个方法时,这个方法就是抽象方法

访问修饰符 abstract 返回类型 方法名(参数列表);

3,抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现抽象类

4,抽象类,是考官比较爱问的知识点,在框架和设计模式使用较多

注意事项和细节讨论

1,抽象类不能被实例化

2,抽象类不一定要包含 abstract方法。也就是说抽象类可以没有abstract 方法

3,一旦类包含了 abstract方法,则这个类必须声明为abstract

4,abstract 只能修饰类和方法,不能修饰属性和其他的

5,抽象类可以有任意成员【因为抽象类还是类】,比如:非抽象方法、构造器、静态属性等等。

6,抽象方法不能有主体,即不能实现。(也就是不能有{})

7,如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也声明为 abstract类。(所谓实现方法,就是有方法体,即{})

8,抽象方法不能使用private、final 和 static 来修饰,因为这些关键字都是和重写相违背的***

上一篇:abstract关键字的使用


下一篇:java面向对象思想