class变量和静态变量在Java中是否相同?
Are class variables and static variables same in Java?
我知道 class 变量是静态的,并且在 class 的所有对象之间共享。如果是这样,我不确定静态变量是什么。
此外,维基百科声明 class 变量不应与静态变量混淆。
根据@Zar 在评论中给出的link,
Fields that have the static
modifier in their declaration are called static fields or class variables.
所以您的问题的答案是,是的,在 Java 中它们是相同的。
如果我理解,你问的区别是:
int a;
和
static int a;
如果两者都定义为 class 变量(它们不在方法内部),主要的实际区别是范围和生命周期。
静态变量永远不会从内存中删除,并且(如果设置 public)可以从项目的任何位置访问。
static修饰符的主要描述是它脱离了class,所以:
您无需实例化任何对象即可使用静态方法。
您不需要实例化任何对象来获取静态变量。
您不能在静态方法中访问非静态 class 变量(基本上您不能使用 "this")
希望对您有所帮助。
静态变量也称为class变量。它是通过使用静态修饰符声明的。
class只创建了一份静态变量,所以称为class变量。
我知道 class 变量是静态的,并且在 class 的所有对象之间共享。如果是这样,我不确定静态变量是什么。
此外,维基百科声明 class 变量不应与静态变量混淆。
根据@Zar 在评论中给出的link,
Fields that have the
static
modifier in their declaration are called static fields or class variables.
所以您的问题的答案是,是的,在 Java 中它们是相同的。
如果我理解,你问的区别是:
int a;
和
static int a;
如果两者都定义为 class 变量(它们不在方法内部),主要的实际区别是范围和生命周期。
静态变量永远不会从内存中删除,并且(如果设置 public)可以从项目的任何位置访问。
static修饰符的主要描述是它脱离了class,所以:
您无需实例化任何对象即可使用静态方法。
您不需要实例化任何对象来获取静态变量。
您不能在静态方法中访问非静态 class 变量(基本上您不能使用 "this")
希望对您有所帮助。
静态变量也称为class变量。它是通过使用静态修饰符声明的。 class只创建了一份静态变量,所以称为class变量。