Java 我可以更改另一个类的构造函数传递的属性的值吗?
我想通过构造函数更改一个基于main类的布尔属性。 代码如下:Java 我可以更改另一个类的构造函数传递的属性的值吗?,java,Java,我想通过构造函数更改一个基于main类的布尔属性。 代码如下: public class NewJDialog{ public boolean CHECK; java.awt.Label label; . . . Trasporta valore = new Trasporta(CHECK,label); . . . } 类别2 public class Trasporta implementsMouseListener,MouseMotionListener{
public class NewJDialog{
public boolean CHECK;
java.awt.Label label;
.
.
.
Trasporta valore = new Trasporta(CHECK,label);
.
.
.
}
类别2
public class Trasporta implementsMouseListener,MouseMotionListener{
public boolean value;
java.awt.Label label;
public Trasporta(boolean value, java.awt.Label ... pns){
for ( java.awt.Label genericlabel : pns){
genericlabel.addMouseListener(this);
genericlabel.addMouseMotionListener(this);
}
this.value=value;
}
@Override
public void mousePressed(MouseEvent e) {
this.value = true;
}
这样,CHECK属性就不会变为“true”
你能告诉我为什么吗?
我怎样才能修好它
提前感谢您的回复。您将
CHECK
声明为基元类型,并且没有初始化它,因此它将具有默认值(基元布尔值初始化为false)
将代码更改为
Trasporta valore = new Trasporta(true,label);
如果要初始化值为true的类
另外,您应该阅读这篇关于java中命名约定的文章
这并没有回答这个问题,OP想从另一个后来调用的方法(
mousePressed
)更改值(iCHECK
)-我想