我想让子类的静态方法也符合固定的规范,提供差异功能,
父类的静态方法来提供相同功能。
为什么 java 中不让静态方法拥有和普通方法的集成覆盖重写行为呢?我觉得蛮好的啊?只是因为不符合某种逻辑?
你知道哪种编程语言有这种特性。
漂亮男人2017-06-12 09:28:00
用单例代替静态就好,
事实上,面向对象并不需要静态,
kotlin之类的这个支持就很好,
用伴生对象或者单例对象代替静态,
可以让伴生对象实现那个接口,
https://kotlinlang.org/docs/r...
interface Factory<T> {
fun create(): T
}
class MyClass {
companion object : Factory<MyClass> {
override fun create(): MyClass = MyClass()
}
}
我想大声告诉你2017-06-12 09:28:00
首先。你要理解java中什么是静态方法。重写在一定程度上来说就是多态的体现,而java中静态方法是与类绑定的。也就是说,当这个类被加载的时候,类中的静态方法也随之加载,你所说的继承重写又有什么意义呢?