我在一个类中声明了这个全局变量:
public class pacmanIcaveBean implements pacmanIcaveLocal {
public static String archivoPRTOriginal = "";
public void pacman() {
pacmanIcaveBean.archivoPRTOriginal = "C:\\Ruta.prt";
}
}
但是我在其他类这样称呼它:
public class Generador {
public void generar {
System.out.println(pacmanIcaveBean.archivoPRTOriginal);
}
}
它并没有告诉我C:\\Ruta.prt
。
我做错了什么?
答案 0 :(得分:1)
那是因为你还没有将archivoPRTOriginal设置为值C:\ Ruta.prt。您需要先调用pacman()方法来设置值。
答案 1 :(得分:0)
pacmanIcaveBean.archivoPRTOriginal = "C:\\Ruta.prt"
位于pacmanIcaveBean
的构造函数中 - 也就是说,只有在您调用new pacmanIcaveBean()
时才会调用它。由于您的代码段不会调用它,因此永远不会调用该行代码,archivoPRTOriginal
仍为""
。
答案 2 :(得分:0)
public class pacmanIcaveBean implements pacmanIcaveLocal
{
public static String archivoPRTOriginal = "";
public void pacman()
{
pacmanIcaveBean.archivoPRTOriginal = "C:\\Ruta.prt";
}
}
public class Generador
{
public void generar
{
//call pacman method
new pacmanIcaveBean().pacman();
System.out.println( pacmanIcaveBean.archivoPRTOriginal );
}
}
答案 3 :(得分:0)
嗯,我想在处理system.out.println时没有执行pacman方法。
如果要确保它包含预期的值,请在声明时将字符串值与全局变量相关联。
public static String archivoPRTOriginal = "C:\Ruta.prt";
暧昧的问题,很难提供更好的答案。
答案 4 :(得分:0)
你觉得这会起作用吗?
public class pacmanIcaveBean implements pacmanIcaveLocal{
public static String archivoPRTOriginal = "";
public void pacman(){
pacmanIcaveBean.archivoPRTOriginal = "C:\\Ruta.prt";
}
public String valores(){
String ruta=pacmanIcaveBean.archivoPRTOriginal;
return ruta;
}
}
public class Generador{
public void generar{
pacmanIcaveBean Obj= new pacmanIcaveBean();
System.out.println( Obj.valores() );
}
}
答案 5 :(得分:0)
解决方案!
public class pacmanIcaveBean {
private static String rutaCopiar = "";
public static String getRutaCopiar() {
return rutaCopiar;
}
public static void setRutaCopiar(String rutaCopiar) {
pacmanIcaveBean.rutaCopiar = rutaCopiar;
}
public void pacman() {
pacmanIcaveBean.setRutaCopiar("C:\\Ruta.prt");
}
}
public class Generador {
public void generar() {
new pacmanIcaveBean().pacman();
System.out.println(pacmanIcaveBean.getRutaCopiar());
}
}