当前位置: 首页 > 面试题库 >

私有构造函数和最终

贺劲
2023-03-14
问题内容

为什么将只有私有构造函数的类标记为final是一个好习惯?我的猜测是,要让其他程序员知道它不能被子类化。


问题答案:

将类定为final具有一些(小的)性能提升,因为JIT编译器可以内联该类的功能。我不知道这是否符合“良好做法”的要求,但是我看到了好处。



 类似资料:
  • 问题内容: 假设有一个类,其所有构造函数都声明为private。 例如。: 据我所知,将所有构造函数设为私有类似于将类“ This”声明为 final ,因此无法进行扩展。 但是,我收到的Eclipse消息给我的印象是这是可能的-可以扩展全构造函数私有类。看看这个: 当我尝试使用类似的方法扩展此类时 Eclipse给了我一个错误:“ 隐式超级构造函数This()对于默认构造函数不可见。必须定义一个

  • 假设有一个类,其所有构造函数都声明为private。 如。: 据我所知,将所有构造函数私有化类似于将类“This”声明为final——因此它不能被扩展。 然而,我收到的Eclipse消息给我的印象是这是可能的——一个all constructors私有类可以扩展。看看这个: 当我试图用类似于 Eclipse给我一个错误:“隐式超级构造函数This()对默认构造函数不可见。必须定义显式构造函数。"

  • 本文向大家介绍解析C#中的私有构造函数和静态构造函数,包括了解析C#中的私有构造函数和静态构造函数的使用技巧和注意事项,需要的朋友参考一下 私有构造函数 私有构造函数是一种特殊的实例构造函数。它通常用在只包含静态成员的类中。如果类具有一个或多个私有构造函数而没有公共构造函数,则其他类(除嵌套类外)无法创建该类的实例。例如: 声明空构造函数可阻止自动生成默认构造函数。注意,如果您不对构造函数使用访问

  • 我的问题是关于OOP(C)中的构造函数。当我在一个类中将默认构造函数定义为private,并且在main中将该类的一个对象初始化为default时,就会出现默认构造函数不可访问的错误。这很好。但我也在Public部分中使用默认参数构造函数,当我再次在main中初始化对象时,就会出现对函数重载的不明确调用。所以我的问题是,如果不能从main访问私有构造函数,那么编译器应该调用公共部分中的构造函数,这

  • 我试图理解为什么在谈到构造函数时,类成员的可访问性之间存在差异。 考虑下面的例子: 的私有成员作为私有成员,不应从访问。对于字段和方法,情况确实如此,但构造函数似乎没有遵循相同的规则。 从JLS-8(6.6.1.确定可访问性)中,我们可以阅读: [...] 引用类型的成员(类、接口、字段或方法)或类类型的构造函数只有在类型可访问且声明该成员或构造函数允许访问时才可访问: > [……] 否则,成员或

  • 我有一个java类,它只有静态方法和字段,所以我不想为此创建任何对象。我可以从两个方面来理解, 创建类摘要 使用私有构造函数。 这两种方法哪一种更好?