java中,抽象类可以有构造方法吗

2024-11-19 13:35:07
推荐回答(1个)
回答1:

当然可以,只是不能直接创建抽象类的实例对象而已
1、如果在父类中(这里就是你的抽象类)中显示的写了有参数的构造函数,在子类继承是就必须写一个构造函数来调用父类的构造函数
例子:
abstract
class
Person
{
//定义一个抽象类,必须被继承
Person(int
i)
{
}
}
public
class
Student
extends
Person
{
Student()
{
super(int
i)://必须显示的调用父类构造方法//super代表父类对象
}
}
2、如果父类中有没有参数的构造函数,在子类中可以不显示的写父类的构造函数,Java会自动调用没有参数的构造函数
例子:
abstract
class
Person
{
//定义一个抽象类,必须被继承
Person()
{
//此构造函数也可以不写,Java会默认添加一个没有参数的构造函数
}
}
public
class
Student
extends
Person
{
Student()
{
//super();//可以不写,Java会自己调用这个super()方法
}
}