我有一个长名的类,例如DatabaseHelper
。现在我想简称这个名字。
1)我可以重命名该类,然后我将拥有我想要的。
2)我可以创建一个synoym类:class Db extends DatabaseHelper
:这里的身体将是空的。
这里的质量标准的原因,编码风格的问题
class DatabaseHelper
{
//some methods
}
和现在的同义词类
class Db extends DatabaseHelper
{
//empty body
}
所以我的问题是:如果我像2那样做,我会遇到性能问题,还是在绩效维度上等于1)等于2)?
在某些地方性能可能会变差,因为类层次分析将看到有两个可能的类并放弃。还有其他优化,所有内容都太复杂了,但是如果您想了解它,请阅读此lengthy explanation。如果不是,请阅读其中的一部分,以了解它会变得多么复杂。
考虑到您正在处理数据库,即以毫秒为单位的某个地方的操作,您将无法测量纳秒级的某个地方的性能损失。所以算了。
请注意,DatabaseHelper
绝不是长名。它很短而且很无益(可能会更清楚)。请注意,对于Db
,Database
可能是一个很好的快捷方式,但对于DatabaseHelper
,则不是。 DbH
不能做到(每个人都可以猜测,“ Db”是什么意思,但有了“ DbH”,几乎没有人可以;反正不需要猜测的名称会更好)。
[请注意,Java中没有类型同义词并且不能。通过子类化,您将获得一个只能在一个方向上互操作的新类。 所以不要这样做!
还要注意,Java的性能比预期的要复杂得多。选择好的算法和数据结构很重要,但是大多数细节都无关紧要(此站点充满了诸如“ A比B快”的问题,而典型的正确答案是“算了”)。