由于 "no" 原因扩展 类,java 是否有任何性能下降?

Is there any performance decrease in java, for extending classes for "no" reason?

我有一个在很多情况下都很有用的 Vector3i class,但我发现自己扩展它以使用类型系统来防止错误。

例如,我可能有一个 "ego-centric" 局部于世界中某个对象的 vector3i,以及一个世界坐标 vector3i。

如果不进行转换,两者自然是不兼容的,彼此之间没有任何意义。

使用 True Hungarian Notation 会是一个很好的情况,但我将扩展 class 并且不添加任何新功能。

考虑到 JVM/Hotspots 优化,我是否会遭受性能损失?

继承是一种强大的工具,但这种力量是有代价的。继承本身有很多陷阱和问题。特别是,它会破坏封装,如果不小心实现,可能会导致代码脆弱。

Java中的继承机制已经持续发展超过15年。您可以依靠它快速高效。当您的数据模型需要继承时,没有重要的性能相关理由来传递继承。

对于您的情况,通过组合而不是继承来表示您的功能可能更有意义(换句话说,不是让 ClassB 扩展 ClassA,而是使 ClassA 成为 ClassB 中的实例字段,然后将方法调用委托给封装对象)。你至少应该考虑一下。与继承相比,组合产生的代码更健壮,更不脆弱。