如题!

解决方案 »

  1.   


    package test;public class Parent {
    public Parent() {
    System.out.println("This is Parent!!!");
    }
    }
    package test;public class Child extends Parent{
    public Child() {
    super();//必需在子类的构造方法中的第一句,添加!!!
    System.out.println("This is Child!");
    }
    public static void main(String[] args) {
    Child c = new Child();

    }
    }
      

  2.   

    构造器中调用构造器因该使用this关键字,this表示当前对象的引用,但为其添加了参数,就成了调用其他构造器了 。如:
    class A{
      A(int x){
        this(5, 6};
        // !this("abc");   //wrong
      }  A(int x, int y){
      ...  }
      
      A(String str){   }}this构造器调用必须位于起始位置,否则编译器会出错。还有不能同时调用两次构造器。
      

  3.   

    调用类本身的构造器用this(参数),调用父类的构造器用super(参数),都必须放在构造函数的第一行
      

  4.   

    创建一个你要的构造函数的类的实例不就好了
    至于楼上的this super,虽说没错,我觉得貌似跟LZ的问题不相干吧?还是我想错了?
      

  5.   

    用this或者super函数,但是一个类中不能同时有this 和super
      

  6.   

    super();如果写在子类的构造方法里,默认调用的就是父类的构造方法,如果有参数,像super(int x)
    之类的,就是调用父类相应的有对应参数的方法..如果没写这个super();就相当于默认的调用了父类的构造方法,等于说你这个类如果继承了Thread 类,那么即使你不写也是调用它的, 如果你这个类什么都没继承,默认调用的就是Object这个类..懂了吗?但是像你说的调用其他类的构造方法还有一种情况是,你这个类谁也没继承,但是就是需要调用它?那么这样写:class FuLei{
        int x,y;   public Fulei(){
       }    public Fulei(int x,int y){
            this.x=x;    this.y=y;
       }
    }class ZiLei{
        public ZiLei(){
              //super();       这里即使你不写这句代码,默认的也调用了上面那个无参的构造方法
        }
         public ZiLei(){
            super(5,3);      //这里就相当于给父类那两个x,y值给初始化了
         }
    }class Other{
        public Other(){
           //super();    这里你什么都不写,相当于调用了Object类的无参的构造方法
        }
        public Other(){
            //在这里如果你想要调用FuLei里的构造方法,就得new一个出来了,因为两个类无任何直接联系
              new FuLei();    //调用FuLei的无参的构造方法
              new FuLei(8,10);     //调用FuLei有相应参数的构造方法,如果父类没有相应参数的
                                      // 构造方法,则出现编译不通过.就是说不能调用
             //ZiLei的构造方法也一样
             new ZiLei();
            new ZiLei(20,25);
        }
    }如果还有什么地方不懂的,加我Java 群吧:  49167765   JAVAMM工作室  
    每个星期都有基础课讲解的.免费的