本类若想调用本类的方法,被调用方法需申明为static。
顺便说,静态方法不能被重写,如果子类中有一个像重写父类静态方法的东西,那它其实没有重写,只是调用……
什么意思呢:
public class Main {
public static void main(String[] args) {
M m=new N();
m.ceshi();
}
}
class M{
public void ceshi(){
System.out.println("M");
}
}
class N extends M{
public void ceshi(){
System.out.println("N");
}
}
得到N
而
public class Main {
public static void main(String[] args) {
M m=new N();
m.ceshi();
}
}
class M{
public static void ceshi(){
System.out.println("M");
}
}
class N extends M{
public static void ceshi(){
System.out.println("N");
}
}
得到M
网友评论