发布网友
共1个回答
热心网友
可以重写静态方法,但重写后的静态方法不支持多态。(其实static根本就没有重写之说。static方法引用的时候应该用类名来引用,而不是对象。同时static方法不参与继承,所以在继承体系里面也不存在重载的说法)
不能被覆写,例子:
class A{
public static void a(){
System.out.println("a");
}
}
class B extends A{
public static void a(){
System.out.println("b");
}
}
public class Test {
public static void main(String[] args) {
A a = new B();
a.a();//输出结果是a
}
}
可以继承,例子:
class A{
public static void a(){
System.out.println("a");
}
}
class B extends A{}
public class Test {
public static void main(String[] args) {
B.a();//输出a,证明静态方法可以被继承
}
}
java不推荐用对象调用static方法,这会使人混淆,请大家注意