站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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


↑返回目录
前一篇: 怎么将字符串转成Calendar
后一篇: 一个i/o方面的问题