Java抽象类虽然自身不可以实例化,但是其子类覆盖了所有的抽象方法后,是可以实例化的,所以抽象类的构造函数,适用于给其子类对象进行初始化的
构造函数是对象的基本,没有构造函数就没有对象。 若果在父类中(这里就是你的抽象类)中显示的写了又参数的构造函数,在子类继承是就必须写一个构造函数来调用父类的构造函数
abstract class Person { //定义一个抽象类,必须被继承
Person(int i) {
}
}
public class Student extends Person {
Student() {
super(int i)://必须显示的调用父类构造方法//super代表父类对象
}
}
如果父类中有没有参数的构造函数,在子类中可以不显示的写父类的构造函数,Java 会自动调用没有参数的构造函数
abstract class Person { //定义一个抽象类,必须被继承
Person() { //此构造函数也可以不写,Java会默认添加一个没有参数的构造函数
}
}
public class Student extends Person {
Student() {
super();//可以不写,Java会自己调用这个super()方法
}
}
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习