当前位置: 首页 > 知识库问答 >
问题:

final类中的静态函数是否隐式final?

穆宾白
2023-03-14

我的问题与这个问题基本相同,但这也适用于static函数吗?

我想明白:

  1. 编译器是否将final类中的所有静态函数视为final
  2. final类中的静态函数中添加final关键字是否有任何影响?

共有1个答案

通京
2023-03-14

在final类中,所有方法也是隐式final的,因为使类final意味着它不能从其继承,因此不能在子类中隐藏或重写它的方法。

因此,实际上,您正确地认为final类中的静态方法是final的,但这并不是因为它是一个静态方法。因为这门课是期末考试。

 类似资料:
  • 我为之编写的测试用例: 我还有最后一节课。 我已经在测试类中添加了以下代码: 但对我来说什么都不起作用。请建议在类中模仿方法的正确方法。

  • 问题内容: 按照标准书,构造函数是用于初始化对象的一种特殊类型的函数。由于构造函数被定义为一个函数,并且内部类函数只能具有两种类型的静态或非静态类型。我怀疑是什么构造函数? 我的疑问是如果构造函数是静态方法,那么我们如何在构造函数内部频繁使用此方法 输出是否意味着构造函数是非静态的? 问题答案: 您的第二个例子很重要。引用在构造函数中可用,这意味着构造函数是针对某个对象(当前正在创建的对象)执行的

  • 问题内容: 我在网上找不到任何参考资料。但是只是想知道类中的最终字段应该一直还是只是一个约定。基于对它们的用法的理解,我觉得这比语言所强加的东西更合乎逻辑。 问题答案: 当然不是。如果它们属于该类,则必须是静态的;如果它们属于该类的实例,则必须是静态的:

  • Java不允许类的静态方法被重写。因此,如果一个超类方法是静态的,那么子类中的同名方法也需要是静态的,具有相同的签名才能编译,尽管它不是一个方法重写。下面是一个例子: 但我的问题是,所以如果这不是方法重写,那么为什么我不能使超级类中的静态方法final?

  • 问题内容: 表示变量只能在构造函数中分配一次。 表示它是一个类实例。 我不明白为什么禁止这样做。这些关键字在哪里互相干扰? 问题答案: 每次创建该类的实例时,都会调用一个构造函数。因此,上述代码意味着x的值将在每次创建实例时重新初始化。但是由于变量被声明为final(和static),因此您只能这样做 但是,如果删除静态,则可以执行以下操作: 或这个:

  • 问题内容: Python中是否有诸如静态构造函数之类的东西? 如何在Python中实现静态构造函数? 这是我的代码…当我这样调用App时不会触发。该不是静态构造函数或静态初始化。 我必须这样称呼它,它每次都会实例化App类: 这是我的课: 每次调用的问题是重新创建了App对象。我的“真实” App类很长。 问题答案: 提示:任何引用都将需要实例化该类。您可以这样做: 但是,来吧,这似乎有很多不足。