繁体   English   中英

java中变量的命名实践。 为什么类变量不是包变量

[英]naming practice of variables in java. why class variable not package variable

我只是好奇为什么类变量(即带有static关键字的变量)被称为类变量而不是包变量。 我的意思是如果我在一个类中声明一个静态变量,我可以从同一个包中的另一个类访问这个变量,只要它不是私有的。

此外,实例变量在类中声明,该类中的方法可以访问实例变量,为什么不将它们命名为类变量......我只是不明白。

类基本上是用于创建实例(对象)的框架或蓝图。 静态变量和方法是在框架内定义的,并在类加载器加载类时创建,因此无需为它们创建实例即可存在。 这就是为什么它们是类变量。 它们不是包变量,因为它们专门属于那个类。 也就是说,您可以通过调用 MyClass.myVariable 来访问它们。

实例变量仅在类的实例(即通过调用 new() 创建对象)时才存在,并且它们特定于该对象而不是特定于类。 实例变量的计数与创建该类的对象的数量一样多,而静态类变量始终只有一个计数。 这就是为什么它们被称为实例变量,因为它们特定于实例而不是类。

它被称为类变量,因为它在一个类中。 在命名约定中,可见性无关紧要。 非静态变量是实例变量,因为它在类的实例之间可能不同。 方法在该类的所有实例中始终相同。

因为包由一组一起工作的类组成,而类是构成实现中对象的抽象。 您不能让变量纯粹作为包变量存在,因为它不会给出“拥有”变量的类的上下文。 另外,它只是糟糕的面向对象编程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM