日期:2014-05-20  浏览次数:20663 次

构造方法和继承
构造函数能不能被继承?
为什么继承父类的构造函数也能正确编译啊??

------解决方案--------------------
构造函数是不能被继承的,但是,子类在写构造函数的时候,需要首先去调用父类的构造函数,如果不显示调用,那会调用父类那个不带参数的构造函数。
------解决方案--------------------
继承的是类,不是方法,应该是继承一个累,从继承中获得方法,哪有直接说继承方法的。
------解决方案--------------------
探讨
这个我知道啊,但是Eclipse中

Java code

class A{
public A(){
}
public A(int i){
}
}
class B extends A{
public void A(){

}
……

------解决方案--------------------
子类必须实现父类的构造函数。只不过,有的父类是空,子类也是空,好像没管理其它是默认的。
下边的程序就出错
Java code

class a {
  public a(int a) {
  }
}
class b extends a {
  public b() {

  }
}

------解决方案--------------------
探讨

这个我知道啊,但是Eclipse中
Java code

class A{
public A(){
}
public A(int i){
}
}
class B extends A{
public void A(){

}
}



这样也可以啊……

------解决方案--------------------
探讨
这个我知道啊,但是Eclipse中

Java code


class A{
public A(){
}
public A(int i){
}
}
class B extends A{
public void A(){

}
……

------解决方案--------------------
如果在子类的构造方法中 没有super关键字 那么是默认存在super()在子类构造方法的首行的。 子类的构造方法是可以通过super关键字使用父类的构造方法的
------解决方案--------------------
父类的构造函数怎么可能被子类继承呢,构造函数的名字和类名一样。子类是从父类继承的,因此在编译子类的时候就先编译父类的构造函数进行初始化。