1.抽象函数语法特征(天生就是用来当爹的)
定义:只有函数的定义,没有函数体的函数(没有实体)。不能被初始化。
abstract void fun();使用abstract定义的类被成为抽象类
特性:
1.抽象类不能够用new生成对象,天生用来被继承;
子类继承抽象类,再复写抽象函数,使该类就不是抽象函数。即可生成子类对象。
2.如果一个类当中包含抽象函数, 则该类必须被声明为抽象类;
3.如果一个类当中没有抽象函数,这个类也可以被声明为抽象类
主要是不让别人生成对象。今后写程序用得到,abstract也称为基类,用来被继承。
2.抽象类可以有构造函数?
条件:抽象类的确不能生成对象,但是因为继承,子类可以生成有构造函数,在生成子类对象的时候调用了抽象类的构造函数。抽象类必须要被extend过。Object不是完整意义上的抽象类,因为它没有必须被覆盖过的方法。
3.抽象类的作用
note:如果一段代码在语义上是有错误的,那么在语法上也应该有错误, 语法错误比语义错误更容易找到。
比如一个父类不是抽象类,那么在子类有可能对父类的部分函数忘记复写而不容易发现。
如果一个类,某一个函数我们无法确定。必须用子类实现,无法通用,则把该函数定义为抽象函数,类定义为抽象类。
时间: 2024-10-24 11:34:29