结论:抽象类能够有构造方法,接口没有构造方法!函数
接口中不能定义构造器的理由:
1. 构造器用于初始化成员变量,接口没有成员变量(除了全局变量)
2. 类能够实现多个接口,若多个接口都有本身的构造器,则很差决定构造器链的调用次序
3. 构造器是属于类本身的,不能继承。由于是纯虚的,接口不须要构造器。spa
抽象类必定有构造方法,你不写编译器帮你加。由于子类的构造方法确定会super(),没有就出错了。
继承
1.抽象类和接口中能够有方法,可是只有抽象类中有构造方法。
2.抽象类中能够有方法的实现,接口中不能够有方法的实现。接口
接口内只能有抽象方法,和静态常量 不能有构造方法。
抽象类中能够有实例方法和抽象方法,必须有构造方法,即便你不主动些构造方法,系统也给自动给你加上无参数空构造
编译器
构造方法能够置于抽象类中,抽象类只要求至少有一个方法是抽象方法就行
编译
包含抽象方法的类叫作抽象类,也就是一个类只要有有声明可是没有方法体的方法那么这个类就是抽象类,
接口是一个极度抽象类,已经规定死了,它里面的方法都是抽象的方法。变量
抽象类中能够有:构造函数、抽象函数、普通函数
而接口中只能有全局变量和抽象函数
构造函数
抽象类。是类和接口的过分,有现实的方法 也有空方法,有构造函数。儿接口就只有空的方法了,是没有构造函数的方法
接口只能被实现不能new一个出来,显然就没有构造了
抽象类是被继承的,子类的无参构造中有super(),这就说明了父类是有构造的new
抽象类中能够有构造方法 能够有普通方法 也能够有抽象方法接口中的方法必须都是抽象方法(有声明 无实现)