java-我们可以不使用final关键字避免继承吗?

java-我们可以不使用final关键字避免继承吗?,第1张

概述我只想知道我可以有2个A类和B类.我不想让B类扩展A类.我应该在A类中应用什么技术,以便B类不能继承A类.不想打入A级决赛.还有其他解决方案,而不是将A类定为决赛?解决方法:这不可能以“不错的方式”实现.Java语言允许您在类定义中使用final关键字,也可以不使用它.正如其他人所指出的

我只想知道我可以有2个A类和B类.
我不想让B类扩展A类.
我应该在A类中应用什么技术,以便B类不能继承A类.
不想打入A级决赛.还有其他解决方案,而不是将A类定为决赛?

解决方法:

这不可能以“不错的方式”实现. Java语言允许您在@R_419_7020@中使用final关键字,也可以不使用它.

正如其他人所指出的:您可以将所有构造函数设为私有,然后子类化实际上变得不可能,因为子类构造函数没有父类构造函数可以调用.

如果您需要实例化A,您仍然可以使用工厂方法,例如:

public class A {  private A() { ... }  private A(String foo) { ... }  public static A newInstance(String foo) { return new A(foo); }

例如.

但请记住:代码是为您的读者编写的.如果您的目的是开设一个final课程,那么正确的答案是使用该关键字final.

另外:将您的类定为final可以使JIT做更多的事情,因为它不必在任何时候担心多态性(因此它可以直接内联方法代码,而无需任何其他检查).因此,使用final可以稍微改善性能.另一方面,它限制了您对事物进行单元测试的能力(例如:标准Mockito无法模拟最终类).

总结

以上是内存溢出为你收集整理的java-我们可以不使用final关键字避免继承吗?全部内容,希望文章能够帮你解决java-我们可以不使用final关键字避免继承吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1092180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存