我希望这个插图能让我的问题清楚:
class someThread extends Thread{
private int num;
public Testing tobj = new Testing(num); //How can I pass the value from the constructor here?
public someThread(int num){
this.num=num;
}
void someMethod(){
someThread st = new someThread(num);
st.tobj.print(); //so that I can do this
}
}
最佳答案
一方面,从我看来,拥有一个公共(public)领域并不是一个好主意。 (你的名字也不理想...)
您需要做的就是在构造函数中初始化它而不是内联:
private int num;
private final Testing tobj;
public someThread(int num) {
this.num = num;
tobj = new Testing(num);
}
(你不必将其定为最终的 - 我只是更喜欢在可能的情况下将变量定为最终的...)
当然,如果您不需要 num
来执行其他任何操作,则根本不需要将其作为字段:
private final Testing tobj;
public someThread(int num) {
tobj = new Testing(num);
}
关于java - 如何将构造函数参数传递给另一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14146402/