假设我有两个类:
public class OuterClass {
String string = "helloworld";
public class InnerClass {
public void main(String[] args) {
string = "lol";
System.out.println(string);
}
}
public void changeString() {
InnerClass c = new InnerClass();
c.changeString();
System.out.println(string);
}
}
输出将是:
lol
helloworld
有没有办法让内部类能够修改外部类的变量? 感谢您提前提供的所有帮助。
最佳答案
因为变量 string 是static,您现在可以从该变量定义的类中的任何类访问它,即 InnerClass,因此您可以更改 InnerClass 和 OuterClass 的变量值。所以代码将是:
public class OuterClass {
public static String string = "helloworld";
public class InnerClass {
string = "lol";
}
public static void main(String[] args) {
System.out.println(string);
}
}
希望这对您有所帮助。
关于Java - 使内部类能够修改外部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27682627/