我简化的代码如下:
//class 1
public class Main
{
public static void main(String[] args)
{
Process process = new Process(0); //creates new process with ID of 0
process.id = 1; //error - I can't call and change process.id here
System.out.println(process.id);
}
}
//class 2:
public class Process()
{
//constructor
public Process(int tempID)
{
int id = tempID;
}
}
我有评论错误的地方是我坚持的地方。我想访问并更改我拥有的该实例类的id变量,但是我不确定如何
答案 0 :(得分:1)
由于id是在本地方法内部定义的,因此您可以使用p.id
访问它。
因此,将id作为实例变量创建,并为更新其值创建一个setter方法。这样您的班级将看起来像这样。
public class Process(){
public int id; //<- Instance Varaible
//constructor
public Process(int tempID){
int id = tempID;
}
//Setter method
public void setId(int id){
int id = tempID;**strong text**
}
}
现在您可以像这样更改值
Process p = new Process(0);
p.setId(1); // Change Value
System.out.println(p.id);