微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java中的静态和静态final方法

如何解决Java中的静态和静态final方法

最终成员

每当我们使一个方法成为 final 时,我们就不能覆盖它。即我们不能从子类提供超类的最终方法的实现。 因此,使方法最终化的全部目的是防止从类(子类)外部修改方法

静态成员

对类的成员(变量、方法或内部类)使用 static 关键字将确保该类的每个实例或对象只有一个该成员的实例。 所以,如果一个方法是 final 我们不能覆盖它。为什么?因为静态成员意味着只有一种类型,如果覆盖它,它就不会适用于类的每个实例。

既然我们已经了解了 final 关键字和静态关键字的用途,让我们来混淆一下。

现在,如果有一个静态成员和一个最终成员,虽然两者都不能被覆盖,但我仍然可以很容易地区分它们并且可以想象不同的用例。 就像,最终成员需要访问一个对象,并且对于不同的对象可以具有不同的值(在变量的情况下),并且一旦初始化就无法更改,并且可以在没有任何对象的情况下访问静态成员,但对于其他每个成员都是相同的对象,初始化后可以更改。

final 成员和 static 成员听起来完全相互赞美。

但最让我失望的是静态方法和静态最终方法

注意 - 我说的是静态和静态最终方法而不是变量。我也能够理解静态和静态最终变量两个之间的区别。就像静态变量和静态最终变量对于每个实例都具有相同的值,并且不需要访问对象,但是可以更改静态变量,而静态最终变量一旦初始化就保持不变。

但是当涉及到静态方法和静态最终方法时,静态和静态最终变量的唯一区别对我来说没有意义。就像我们不能从类外部更改方法的定义

问题 - 那么拥有静态 final 方法有什么意义?

问题- 静态方法可以隐藏是什么意思?能否举例说明一下?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。