我想在方法中获取变量sub的值并将其传递给我的构造函数
//这是我的方法
private int sub;
public void getSubj (int sub) {
this.sub = sub;
}
//这是我的构造函数
public schedule (int sub) {
subject = sub;
System.out.print(subject);
}
答案 0 :(得分:1)
构造函数完成后调用方法。在调用构造函数之前,不能调用任何类的方法。
您仍然可以在构造函数中调用方法。
public schedule (int sub) {
subject = sub;
System.out.print(subject);
getSubj(sub);
}
答案 1 :(得分:1)
你的问题没有多大意义。
当您调用构造函数时,您将从使用此构造函数创建的实例外部传递数据。
方法getSubj
看起来像一个setter(尽管它的名字)。这是在调用构造函数之后更新对象状态的另一种方法,但是它没有向构造函数传递任何东西,因为它不能在构造函数执行之前被调用(除非构造函数调用它) ,在这种情况下,构造函数将数据传递给它,而不是相反的方式。)
你的代码会更有意义:
private int sub;
public void setSubj (int sub) // renamed from getSubj, since it's a setter
{
this.sub = sub;
}
public schedule (int sub)
{
this.sub = sub;
}
public static void main (String[] args)
{
schedule s = new schedule (10); // invoke the constructor
s.setSubj(20); // invoke the setter method to change the state of the instance
}