为什么不是所有的 Java 方法都是静态的?



我只是在这里检查我的推理,因为我想我已经知道答案了。有人问我:无论我可能有多少个特定类别的实例,给定的方法肯定在每个对象中都具有相同的操作。那么,为什么Java开发人员为方法发明了静态修饰符呢?我们可以将其与静态变量进行对比。当然,在这里,每个对象对于给定字段都有不同的值。

我的回答是,不,在类的每个实例中,给定的方法不会具有相同的操作。例如,在类的每种实例中,设定器和盖特斯以"相同"的方式运行,但它们的输出确实取决于类的实例。

相当广泛的问题;但是这里有各种简单的事实:如静态有关"良好oo"原理的异常

  • 静态导致不同类之间的直接耦合。
  • 更重要的是:有没有静态方法的多态性。和多态性 ESSENCE oo编程!
  • 它不仅会影响您的代码库;它也可以使(单位(测试(更加困难(。

换句话说:默认情况下,您努力不使用静态。在某些情况下,这是有道理的;但是您必须仔细考虑这些。

或给我个人两个分之一:如果静态是"更好的答案",每个人仍然会在帕斯卡中编码,并声称命令编程是银色软件工程的子弹。

但是要回答这里的"其他"问题:"为什么我们需要 static ,然后?

仅仅是因为有时方便且有用。当您转向Java"系统类"时;例如收集或对象,您在那里找到了合理的数量的"有用"功能。这可以维护软件质量的其他重要特性;喜欢:单个责任原则。例如,有一个一个 sort()的中央实现;可以直接对收藏的行为进行排序。

相关内容

  • 没有找到相关文章

最新更新