其实,静态的不是叫覆盖而是隐藏。在表现形式上说:隐藏用于静态方法,覆写用于非静态方法。职责上说:隐藏的目的是为了抛弃父类静态方法,重现子类方法。静态方法虽然不能覆写,但是可以隐藏;
package itcast.com;
public class BaseStatic {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Base b = new Sub();
b.Method();
b.staticMethod();
}
}
class Base{
public static void staticMethod(){
System.out.println("父类静态的方法");
}
public void Method(){
System.out.println("父类的非静态方法");
}
}
class Sub extends Base{
public static void staticMethod(){
System.out.println("子类的静态方法");
}
public void Method(){
System.out.println("子类的非静态方法");
}
}