静态方法能同时用static和abstract说明吗?

来源:百度知道 编辑:UC知道 时间:2024/05/02 07:43:31
为什么不能呢?说一下详细理由,谢谢!
我说的静态方法,这个方法不能继承吗〉
如果能继承,可以是虚的啊!
又不是最终方法和抽象方法。

好吧,我承认我刚才是随便说说的。
静态方法是不能继承的,因为它是静态的,所谓静态当然是时间和空间的静止喽……所以任何人都别想改变他。
但是它不介意有人和它叫一样的名字,所以子类是可以cover的,但是其实这样会出来两个函数,一个父类的一个子类的,各管各的。
然后final是java里面定义的,不能被重载的函数。
java里面的函数如果没有特别标识,只要在子类中定义了一个同名的函数,那么父类的函数就被重载掉了。如果new一个子类的对象给父类再调用这个函数,就是调用子类的了。只有new的是父类的调的才是父类的。
java里面没有virtual的说法,因为不是final或static就是virtual的。
abstract是虚函数,自然不可能是final的,同时如上所说,static是不能被重载只能被覆盖的,所以也不可以是abstract的

静态方法是不能extends的.因为当你申明了一个static的方法
我给你画个内存图。你就理解了
public class Demo{

public void helloWord()
public static void hello(){

}
} Demo对象的内存
|
_ _ _ _ _ ______________
| | | |
| hello() | | helloWord()|
| | | |
| | | |
- - -- - - ————————

内存中是这样分配的.继承Demo类