当前页面: 开发资料首页 → J2SE 专题 → 构造函数的问题?
构造函数的问题?
摘要: 构造函数的问题?
刚学java,有些地方很不明白,看代码:
class A
{
int i;
A(int xx)
{
i=xx;
}
}
class B extends A
{
}
public class Demo
{
public static void main(String args[])
{
B a=new B(1);
}
}
编译时不通过,提示:
Demo.java:40: 找不到符号
符号: 构造函数 B(int)
位置: 类 B
B a=new B(1);
难道java中不能继承构造函数吗?
在java中,子类不能继承父类的构造方法,如果要使用父类的构造方法,必须使用关键字super
子类中没有显式声明构造函数,则自动调用父类的无参构造函数,这里,父类又没有无参构造函数。
构造函数不能被继承
super()是调用父类的无参构造函数,即使不加,也默认加上super(),况且 B a = new B(1)是要调用B得构造函数的,改为:
class A{
int i;
A(int xx){
i=xx;
}
}
class B extends A{
B(int i){
super(10);
}
}
public class Constructor {
public static void main(String[] args) {
// TODO Auto-generated method stub
B a=new B(1);
}
}
难道java中不能继承构造函数吗?
---------------------------------------------------
请问哪个语言里能继承构造函数...
当然是delphi