我只想知道我可以有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关键字避免继承吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)