Java中的静态关键字

前端之家收集整理的这篇文章主要介绍了Java中的静态关键字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. class A {
  2. static {
  3. System.out.println("A-SIB");
  4. }
  5. static void test(){
  6. System.out.println("A-test");
  7. }
  8. }
  9.  
  10. class B extends A {
  11. static {
  12. System.out.println("B-SIB");
  13. }
  14. }
  15.  
  16. class C {
  17. public static void main(String args []){
  18. B.test();
  19. }
  20. }@H_301_3@
  21. 当我跑C级时,我认为A-SIB,B-SIBA-test将被打印出来,但是B-SIB不在输出中.有人可以解释为什么吗?

解决方法

B类没有实现(也就是“隐藏”)静态测试方法,所以初始执行开始于A类(因此是A-SIB);然后用A中的测试方法(因此“A测试”).如果您在B类中覆盖测试,您将获得A-SIB B-SIB B检验

猜你在找的Java相关文章