java的 方法的重写?

发布网友

我来回答

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方法,这会使人混淆,请大家注意

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com