当多个类中出现相同功能,但是功能主体不用时可以向上抽取。
这时只抽取功能定义而不抽取功能主体。
抽象方法特点:
1.抽象方法必须存在于抽象类中
2.抽象方法和抽象类都必须被abstract关键字所修饰
3.抽象类不可以被new创建,没有意义
4.抽象类中的方法要被使用时,必须由子类重写所有父类的抽象方法后建立子类对象调用。
如果子类只重写部分抽象方法那么子类还是一个抽象类.
抽象类和一般类没有大的不同。
该如何描述事物还怎么描述,只不过该事物出现了一些看不懂的部分,这些不确定的部分也是该事物的功能需要明确出现。
但是无法定义主体,通过抽象方法来表示。
抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。
抽象类比一般类多了抽象函数,抽象类不能实例化。
- abstract class Student
- {
- abstract void study();//定义抽象方法,具体内容由其子类实现
- void sleep(){
- System.out.println("sleep....");
- }
- }
- class BasicStudent extends Student
- {
- void study(){
- System.out.println("basic study");
- }
- }
- class AdviceStudent extends Student
- {
- void study(){
- System.out.println("advice study");
-
- }
- }
- class Demo03_Abstract
- {
- public static void main(String[] args)
- {
- new BasicStudent().study();
- new AdviceStudent().study();
- /*
- 输出结果
- basic study
- advice study
- */
- }
- }
复制代码
|
|