子类可以继承父类的静态属性和静态方法,但是无法装载子类的静态方法.即使在子类中有一个与父类具有相同方法标签(方法名相同,参数类型相同,返回值类型相同,甚至连访问级别也相同),也只能说明是对子类又新建了一个与父类同名的静态方法,而不是对父类的静态方法的重载.
父类:
子类:
Test
输出结果:
可知,子类是继承了父类的静态方法,但是你无法重载:
Base b=new SubBse();
b.baseFunc();
这里输出的是父类的,因为如果baseFunc 是非静态的,则输出的是:在子类的静态方法中
父类:
public class Base {
public static void baseFunc(){
System.out.println("在父类的静态方法中");
}
}
子类:
public class SubBse extends Base{
public static void baseFunc(){
System.out.println("在子类的静态方法中");
}
}
Test
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
SubBse.baseFunc();
Base b=new SubBse();
b.baseFunc();
SubBse subB=new SubBse();
subB.baseFunc();
}
}
输出结果:
在子类的静态方法中
在父类的静态方法中
在子类的静态方法中
可知,子类是继承了父类的静态方法,但是你无法重载:
Base b=new SubBse();
b.baseFunc();
这里输出的是父类的,因为如果baseFunc 是非静态的,则输出的是:在子类的静态方法中