父类的静态方法不能被子类重写
代码
Anim
public class Anim { public static void test() { System.out.println("Anim test static method!"); } }
Dogpublic class Dog extends Anim { public static void test() { System.out.println("Dog test static method!"); } }
Mainpublic class TestMain { public static void main(String[] args) { Anim.test(); Dog.test(); } }
输出
Anim test static method! Dog test static method!
子类可以调用父类的静态方法
添加cat
public class Cat extends Anim { }
mainpublic class TestMain { public static void main(String[] args) { Cat.test(); } }
输出
Anim test static method!
子类对象调用静态方法
输出public class TestMain { public static void main(String[] args) { Dog a1 = new Dog(); a1.test(); System.out.println("----------------"); Anim a2 = new Dog(); a2.test(); } }