Java中的静态关键字
发布时间:2020-12-14 05:07:01 所属栏目: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级时,
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检验
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读