简单分析一哈就知道,这个逻辑上就是矛盾的
抽象方法没有具体实现,只是抽象出来作为一个方法放在那里,而运行时会根据子类的不同,实际调用的是子类的方法,这里主要是用到了多态,为的是方便将来维护。
凡是用static修饰的都属于类本身,应该由类来调用,当然在Java中实例也可以调用,对于这一点,其实很多人认为是不妥的,IDE也会给一个警告,告诉你应该用类来调用。
那么问题来了:
假如抽象方法是可以用static修饰的,直接用类来调用了,运行时肯定不走子类了,这样失去了多态的意义,无法进行维护扩展的,再说了,连方法体都木有,怎么执行呢,所以,从语言设计者的角度来看,这种思路就是不通的。 |