这时候,子类方法无法覆盖。
————> “准确的讲此时只是子类对父类静态方法的隐藏(hide),子类的静态方法完全体现不出多态,就像子类字段隐藏父类的字段一样,在利用引用访问对象的字段或静态方法时,是引用类型(type)决定了事实上访问的是哪个字段,而非当前引用实际代表的是哪个类。因此,子类静态方法不能覆盖父类静态方法。”
静态方法的调用模式: 类名.静态方法名()
从这可以看出,调用静态方法的根本是静态方法所属的本类类名,也就是上民所说的引用类型,
而父类的静态方法可以有父类的引用所调用- Fu f = new Zi();
- f.method();
复制代码 这里的f的引用类型是Fu,所以f.method()调用的是父类中的method(); |