子类有其自己的构造函数,如果在子类中调用父类的函数的话只是但做一般的类的构造函数调用的。比如在B是A的子类,B()是自己的构造函数,它可以使用A的构造函数A(),但A()不是B的构造函数,这是我的看法,如果有错,请大家指导。

解决方案 »

  1.   

    比如
    class A{
    public A(){
    ...;
    } public static void calculate(int m){
    }
    }
    class B extends A{
    public B(){
    ...;

    //当然也可以如下调用A的Constructor
    super();
    } public static void calculateWage(int m){
    //可以直接调用
    calculate(m) + 2;
    }
    }
      

  2.   

    一个子类从父类继承所有的方法和变量,但它不继承构造函数 我认为这句话是不正确的,private的就不能继承
      

  3.   

    private可能是继承了,但受到限制,无法使用吧,即使覆盖也是产生一个新的函数?个人意见。
      

  4.   

    通常继承就是说子类可以直接使用父类的public和protected方法,构造函数必须和类名同名,当然不能继承了,难道子类可以和父类一个名字吗
      

  5.   

    class Test1{
    public int aa = 1;
    public Test1(){
       System.out.println(this.aa);
        aa = 2;
     }  
    }
    class Test2 extends Test1{
    public Test2(){
       System.out.println(this.aa);
        aa = 3;
     }  
      public static void main(String[] args) {
        Test2 test2 = new Test2();
      }
    }
    运行得到的结果跟“一个子类从父类继承所有的方法和变量,但它不继承构造函数”是否矛盾。谢谢大家参与.
      

  6.   

    to:star821116(冰冻三尺非一日之寒) class B extends A{
    public B(){
    ...;

    //当然也可以如下调用A的Constructor
    super();
           ~~~~~~~~~~~~~
    }
    }此种用法好像有所误导
    父类构造函数的调用("super();")只能写在子类构造函数的第一句上,否则编译不会通过
      

  7.   

    to kevin8848he(ooo):
    如果你对JAVA中类的加载和构造有兴趣的话
    请先阅读 Thinking in JAVA 2nd 的前7章,讲的不错,翻译的也不错 ^_^
      

  8.   

    to  kevin8848he(ooo) 
      你举的例子是Test2调用了Test1的构造方法,而不是继承了父类的构造方法,我是这么理解的
      

  9.   

    我认为是可以继存的,只有private才不能继存。
    但是,所谓构造函数,是相对类名来定义的,子类和父类的名字不一样的,所以父类的构造函数在子类就不能称其为子类的构造函数了。所以,
    那句话是不对的。
      

  10.   

    我认为是可以继存的,只有private才不能继存。
    但是,所谓构造函数,是相对类名来定义的,子类和父类的名字不一样的,所以父类的构造函数在子类就不能称其为子类的构造函数了。
    agree!!!!!!!
      

  11.   

    应该是不能继承的。class b 继承自class a ,class b的一个对象cb不能使用cb.a()这样的函数调用。
      

  12.   

    类B继承类A,类B是类A的子类,是说类B在继承类A所有特性之外还有自己的新特性。比如:类A是汽车类,类B是卡车类,卡车类继承汽车类是汽车类的子类,卡车有汽车的所有特性,同时还具有自己的特性:能装载货物等。所以我觉得上面说的“一个子类从父类继承所有的方法和变量”这句话并不是在讨论继承的细节问题,而是说明了一下继承的概念问题。我想大家也没必要在能否继承private上深究。构造函数的作用是什么?当给一个类创建对象时,构造函数不是给这个对象赋初值吗?如果子类继承了父类的构造函数,当子类创建一个对象时给该对象赋什么值呢?就像上面说的,当卡车类创建对象时赋汽车类的初值那还有什么意义呢?以上完全是本人的观点,由于本人也是一位新人,说的不对还望各位大侠指正!!-:)