Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我可以更改另一个类的构造函数传递的属性的值吗?_Java - Fatal编程技术网

Java 我可以更改另一个类的构造函数传递的属性的值吗?

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{

我想通过构造函数更改一个基于main类的布尔属性。 代码如下:

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
)更改值(i
CHECK
)-我想