java抽象类的构造方法和普通类的构造方法一样都是用来初始化成员变量的。只是抽象类的构造方法不能直接调用,因为抽象类不能实现实例。但是一旦一个普通类继承了抽象类,便也可以在构造函数中调用其抽象类的构造函数,也可以使用其方法。
/*
抽象类中构造方法的使用
抽象类无法被实例化,只能通过子类的继承 extends (一个子类只能继承一个抽象类)并且子类必须全部覆写抽象类中的全部抽象方法
*/
public abstract class Persons{ //定义一个抽象类
String name;
int age;
char sex;
//定义一个构造函数
public Persons(String name,int age,char sex){
this.name = name;
this.age = age;
this.sex = sex;
}
//声明一个抽象方法
public abstract String talk();
}
//声明抽象类的子类
class Students extends Persons{
public Students(String name,int age,char sex){ //声明构造方法
super(name,age,sex); //调用了父类的构造方法。
}
//重写抽象方法
public String talk(){
return "学生信息:\t学生姓名:"+name+"\t年龄:"+age+"\t学生性别:"+'女';
}
}
public class AbstractConstructor {
public static void main (String [] args){
Students s = new Students("zfc",19,'男');
System.out.println(s.talk());
}
}