静态方法与接口
来源:1-10 关于接口应用常见问题(Ⅱ )
停停停呀
2022-12-06 23:45:40
请问老师,为什么实现类无法继承接口中的静态方法?
1回答
好帮手慕小蓝
2022-12-07
同学你好,静态方法不同于一般方法,是属于类或者接口本身的信息。同时也是因为这样的特性,静态方法无法被子类通过重写的语法将来自父接口中的实现方式进行覆盖。并且一个类是可以实现多个接口的。
此时,如果子类可以继承父类静态方法的话,就会出现这样的情况:子类同时有多个父接口,但是父接口中存在重名的静态方法。那么子类就会继承到多个重名的静态方法,并且无法对其进行重写。此时对于子类来说,如果调用该方法,无法确定是调用哪个继承的方法。
所以在设计之初,就不允许子类进行继承,如果子类需要调用,只能通过静态的语法进行调用,即使用父接口的接口名进行静态调用。
祝学习愉快~
相似问题