[英]Accessing a variable from another private method within the same class - is this possible?
[英]Passing variable from another file and then use variable within to another method within same class
我正在尝试将另一个 class 中的变量调用到第二个 java 文件
public class selectFile {
public void hdrFile(){
String hdrName = "directory";
readImage sendVari = new readImage();
sendVari.setprintHDR(hdrName);
}
}
public class readImage {
private String hdr_dir;
public static void main(String[] args){
selectFile call_vari = new selectFile();
call_vari.hdrFile();
}
public void setprintHDR(String hdr_dir){
this.hdr_dir = hdr_dir;
}
public String getprintHDR(){
return hdr_dir;
}
public void anotherMethod(){
System.out.println(getprintHDR());
}
}
我这样做是因为我想在第三个文件的第二个中使用“anotherMethod”方法,但是当我通过将第二个 java 文件打印到终端进行测试时,“anotherMethod”无法打印任何 hdr_dir,即使我返回 hdr_dir。 但是,如果我通过将“setprintHDR”打印到命令中来检查一切似乎都很好,它会返回“目录”
public class Main {
public static void main(String[] args){
readImage call_vari = new readImage();
call_vari.anotherMethod();
}
}
由于您想在另一个对象中使用更新的值(基本上是尝试在多个对象之间共享值),因此您应该将变量 hdr_dir 保留为static 。 Static 与实例变量:差异?
您当前使用该变量作为实例一,因此如果一个 object 更新该值,它将仅特定于该 object。 对于您的主要 class,
public class Main {
// private String hdr_dir;
public static void main(String[] args){
int res = 0;
selectFile call_var = new selectFile();
call_var.hdrFile();
readImage call_vari = new readImage();
// call_var.anotherMethod();
// call_vari.setprintHDR("printHDR");
call_vari.anotherMethod();
}
}
output 是
value of hdr_dir is passed is -------directory // doing some console logging
value of hdr_dir assigned is -------directory
directory
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.