【发布时间】:2016-05-12 17:02:36
【问题描述】:
我想知道,因为所有方法的本质都是一个动作(对变量做某事),并且由于该动作对于该类的所有实例都是相同的,那么静态到底有什么用?
是否可以保护对类实例方法的更改?(因此原始方法保持不变)而不是任何特定功能还是我错了,更改实例类的方法不会影响类的方法?
【问题讨论】:
-
网上有很多例子和解释。这是一个:programmingsimplified.com/java/source-code/…
我想知道,因为所有方法的本质都是一个动作(对变量做某事),并且由于该动作对于该类的所有实例都是相同的,那么静态到底有什么用?
是否可以保护对类实例方法的更改?(因此原始方法保持不变)而不是任何特定功能还是我错了,更改实例类的方法不会影响类的方法?
【问题讨论】:
静态实例变量属于类,此类变量在该类的对象之间共享,而非静态实例变量属于该类的对象。静态成员函数用于访问静态实例变量(不能访问非静态实例变量)。
例如。假设你有一个 Student 类,它的实例变量为:rollno、name、percentage 和 numOfStud。这里,rollno、name 和 percent 应该属于 object,因此,不声明为 static。但是,numOfStud 应该声明为静态,因为它不是真实世界对象(即学生)的单独属性,它是类的属性。并且 numOfStud 将随着更多 Student 类的对象的创建而增加。并且将使用该类的静态方法访问它。
这就是静态的意义。我希望这能澄清你的疑问。
【讨论】: