扫码关注官方订阅号
我想让子类的静态方法也符合固定的规范,提供差异功能,父类的静态方法来提供相同功能。
为什么 java 中不让静态方法拥有和普通方法的集成覆盖重写行为呢?我觉得蛮好的啊?只是因为不符合某种逻辑?
你知道哪种编程语言有这种特性。
用单例代替静态就好,事实上,面向对象并不需要静态,kotlin之类的这个支持就很好,用伴生对象或者单例对象代替静态,可以让伴生对象实现那个接口,
https://kotlinlang.org/docs/r...
interface Factory<T> { fun create(): T } class MyClass { companion object : Factory<MyClass> { override fun create(): MyClass = MyClass() } }
首先。你要理解java中什么是静态方法。重写在一定程度上来说就是多态的体现,而java中静态方法是与类绑定的。也就是说,当这个类被加载的时候,类中的静态方法也随之加载,你所说的继承重写又有什么意义呢?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
用单例代替静态就好,
事实上,面向对象并不需要静态,
kotlin之类的这个支持就很好,
用伴生对象或者单例对象代替静态,
可以让伴生对象实现那个接口,
https://kotlinlang.org/docs/r...
首先。你要理解java中什么是静态方法。重写在一定程度上来说就是多态的体现,而java中静态方法是与类绑定的。也就是说,当这个类被加载的时候,类中的静态方法也随之加载,你所说的继承重写又有什么意义呢?