3.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?
“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。
Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。
这个是不是有错误啊? static方法跟类的实例不相关
并不是说和类的子类不相关 子类还是可以重写的吧.......
public class Test001 extends Test002{
static void a(){
System.out.println("111111");
}
public static void main(String[] args) {
Test001 t1 = new Test001();
Test002 t2 = new Test002();
t1.a();//输出111111
t2.a();//输出222222
}
}
class Test002{
static void a(){
System.out.println("222222");
}
}