声明变量与声明变量有private static varName;
什么不同private varName;
吗?
是的,两者是不同的。而第一个被称为class variable
是因为它为此持有单个值,class
而另一个被称为instance variable
是因为它可以针对不同的持有不同的值instances(Objects)
。第一个在jvm中仅创建一次,而另一个在每个实例中创建一次,即,如果您有10个实例,则private varName;
jvm 中将有10个不同的实例。
将变量声明为static
其他变量是否具有其他特殊属性?
是的,静态变量与普通实例变量具有某些不同的属性。我已经提到了很少的内容,让我们在这里看到一些:(class variables
可以将声明为静态的实例变量)通过使用类名(如)直接访问ClassName.varName
。而且该类的任何对象都可以访问和修改其值,这与实例变量仅由其各自的对象访问不同。类变量可以在静态方法中使用。
private static variable
Java 中a的用途是什么?
从逻辑上讲,这与第一个给您更多控制权private static variable
没有什么不同public static variable
。IMO,你可以从字面上代替public static variable
通过private static variable
与帮助public static
getter和setter方法。
广泛使用的一个领域private static variable
是实现简单Singleton
模式,在整个世界中,您将只有该类的单个实例。在这里,static
标识符起着至关重要的作用,以使单个实例可以被外界访问(当然,公共静态获取方法也起着主要作用)。
public class Singleton {
private static Singleton singletonInstance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return Singleton.singletonInstance;
}
}