例如两个构造方法
1:public Test(){}
2:public Test(int a){}
怎么在不使用常量的情况下,使用1的构造方法调用2的构造方法?

解决方案 »

  1.   

    你new Test() 1
    new Test(2) 2
    话说1什么都没有何用
      

  2.   

    是在1方法体里写调用2的代码,例如写this(10);但是不能用常量,括号里的10怎么改
      

  3.   

    public Test()
    {
    this((int)Math.random());
    }
    没用常数吧,不过这样毫无意义啊
      

  4.   

    肯定是要调用this(int)的,但是你这个int到底怎么来啊,你意思不是常量就定义一个变量
    int i=10;
    this(i);
    不太明白意思
      

  5.   

    没太搞明白LZ的需求,照我的理解大概是这样吧:public class Test { /**
     * @param args
     */
    public static void main(String[] args) {
    Test3 t1=new Test3();

    Test3.initData=5;
    Test3 t2=new Test3();
    }
    }class Test3{
    public static int initData=0;

    public Test3(){
    this(initData);
    }

    public Test3(int data){
    System.out.println(data);
    }
    }
      

  6.   

            public Test(){
        this(new Integer(3));
        System.out.println("OK");
    }
    public Test(int a){

    }        
      

  7.   

    this可以调用重载的构造器,如:this(10);,就是调用一个整型参数的构造器…需注意的是这句代码必须写在构造器的第一句…否则编译时报错…