我想通过构造函数更改基于主类的布尔属性。 这是代码:
public class NewJDialog{
public boolean CHECK;
java.awt.Label label;
.
.
.
Trasporta valore = new Trasporta(CHECK,label);
.
.
.
}
Class2
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”。
你能告诉我为什么吗? 我该如何解决?
提前感谢您的答复。
答案 0 :(得分:-1)
您将CHECK
声明为原始类型,并且不对其进行初始化,因此它将具有默认值(原始布尔值初始化为 false )
将代码更改为
Trasporta valore = new Trasporta(true,label);
如果要使用value = true初始化Transporta类;
此外,您应该阅读有关Java命名约定的本文。 https://www.oracle.com/technetwork/java/codeconventions-135099.html