java构造方法中调用构造方法

比如类A,其中有三个构造方法,比如A(){},A(int a){},A(int a,int b){},然后我想再A()中调用A(int a),然后再在A(int a)中调用A(int a,int b),我知道可以用this()调用,但是这个有一个问题是this必须在第一行,然而我在调用this()之前还有些操作需要执行(比如A(int a)调用A(int a,int b)的时候我要在前一个里面定义int b的值从而传进下一个构造函数),这种情况下代码该怎么写?

你想法就错了,一般都是参数的多构造方法调用参数少的构造方法。你这样搞要不得。追问

老师布置的作业如此
The DanceCat class needs the following constructors
One taking String unparsedMoves and String[] idealMoves
This should parse unparsedMoves and call the second constructor

追答

这样说吧 this调用必须在第一行。。。至于你要进行其他操作这种要么在this后,要么别再构造函数里面。可以再静态代码块里面 进行。static{} 这个在类加载的时候,就会调用 ,比构造方法调用的早多了

追问

创建实例的时候不调用静态方法静态方法也会执行吗?你说的静态块这种方式具体要怎么写能给个例子吗?谢谢!

追答

//这是student类。别忘了采纳哦 ,毕竟花了点心力

public class Student {

static{
System.out.println("student的静态代码块");
}
public Student() {
super();
System.out.println("Studen类的无参构造方法");
// TODO Auto-generated constructor stub
}

}
//这是测试类

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu=new Student();
}

}
//结果在下面
student的静态代码块
Studen类的无参构造方法

看出来了吧 先执行的静态代码块。大概就这个意思

追问

如果构造函数有参数呢···这个貌似不能往里面传参数啊

追答

构造函数的参数创建对象的时候传

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-22
不符合JAVA的规范,咋写
相似回答
大家正在搜