前端之家收集整理的这篇文章主要介绍了
Java中的静态关键字,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
class A {
static {
System.out.println("A-SIB");
}
static void test(){
System.out.println("A-test");
}
}
class B extends A {
static {
System.out.println("B-SIB");
}
}
class C {
public static void main(String args []){
B.test();
}
}
当我跑C级时,我认为A-SIB,B-SIB和A-test将被打印出来,但是B-SIB不在输出中.有人可以解释为什么吗?
B类没有实现(也就是“隐藏”)静态测试
方法,所以初始执行开始于A类(因此是A-SIB);然后用A中的测试
方法(因此“A测试”).如果您在B类中覆盖测试,您将获得A-SIB B-SIB B检验
原文链接:https://www.f2er.com/java/123423.html