当多个类中出现相同功能,但是功能主体不同,这是可以进行向上抽取,这时,只能抽取功能定义,不能抽取功能主体。抽取出来的功能定义就是抽象函数。
如:- abstract class A
- {
- abstract void test(); //B、C类中抽取出来的抽象函数
- }
- abstract class B extends A //B继承A
- {
- void test()
- {System.out.print("bbb");}
- }
- abstract class C extends A //C继承A
- {
- void test()
- {System.out.print("ccc");}
- }
复制代码 抽象函数的特点有:
1、抽象函数一定存在抽象类中;
2、抽象方法和抽象类都必须被abstract关键字修饰。
抽象函数没有什么特别的意义,抽象类和一般类没什么大的区别,仅仅是不让该类创建对象。
继承中,抽象类中的抽象函数要被使用,必须有子类复写期所有的抽象方法后,建立系类对象后调用。 |