从另一个文件传递变量,然后在同一 class 中将变量用于另一个方法
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 甚至我 return hdr_dir。但是,如果我通过将它打印到命令来检查“setprintHDR”,一切看起来都很好,它 returns “directory”
public class Main {
public static void main(String[] args){
readImage call_vari = new readImage();
call_vari.anotherMethod();
}
}
因为你想在另一个对象中使用更新后的值(基本上是试图在多个对象之间共享值),你应该将变量 hdr_dir 保持为 static . Static vs Instance Variables: Difference?
您当前将该变量用作实例一,因此如果一个对象更新了该值,它将仅特定于该对象。
对于您的主要 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();
}
}
输出为
value of hdr_dir is passed is -------directory // doing some console logging
value of hdr_dir assigned is -------directory
directory
我正在尝试调用另一个 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 甚至我 return hdr_dir。但是,如果我通过将它打印到命令来检查“setprintHDR”,一切看起来都很好,它 returns “directory”
public class Main {
public static void main(String[] args){
readImage call_vari = new readImage();
call_vari.anotherMethod();
}
}
因为你想在另一个对象中使用更新后的值(基本上是试图在多个对象之间共享值),你应该将变量 hdr_dir 保持为 static . Static vs Instance Variables: Difference?
您当前将该变量用作实例一,因此如果一个对象更新了该值,它将仅特定于该对象。 对于您的主要 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();
}
}
输出为
value of hdr_dir is passed is -------directory // doing some console logging
value of hdr_dir assigned is -------directory
directory