gpt4 book ai didi

java - Java中静态变量和方法的作用域

转载 作者:搜寻专家 更新时间:2023-10-31 08:29:49 25 4
gpt4 key购买 nike

我对在 Java 中使用静态方法有一些疑问。我读过很多地方静态变量是独立于实例的,所以 be 是全局的。

public class ThirdClass {
public static var = "Java";
}

public class Second {
public static void main(String[] args) {
ThirdClass ob1 = new ThirdClass();
System.out.println(ob1.var); // prints Java
ob1.var="Ruby";
ThirdClass ob2 = new ThirdClass();
System.out.println(ob2.var); // prints Ruby
}
}

public class First {
public static void main(String[] args) {
ThirdClass ob3 = new ThirdClass();
System.out.println(ob1.var); // prints Java again!!!
}
}

正如您在第二类中看到的,ThirdClass 的多个实例共享变量 var 的同一个实例。但是类 First 中的一个单独实例不访问最终值“Ruby”但显示原始“Java”。这意味着静态变量不是全局变量,而是仅对单次执行全局变量!!!

与实例变量相比,创建静态变量是否占用大量资源?

请提出建议。

最佳答案

It means the static variable are NOT global variable but only global to single execution!!!

当然是。 所有未持久保存到某种存储(如硬盘)的变量不会在程序的不同执行之间保留它们的值。

关于java - Java中静态变量和方法的作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com