首页 > 代码库 > java类初始化
java类初始化
class SuperClass{ static{ System.out.println("super class init!"); } static int superInt = 1; static String superString = "supString"; } class SubClass extends SuperClass{ static{ System.out.println("sub class init!"); } static final String subStringFinal = "subString"; static String subString = "subString"; } public class InitTest { public static void main(String[] args) { //下面这句只会触发父类初始化 System.out.println(SubClass.superString); //下面这句不会出发父类初始化 SubClass[] subArray = new SubClass[10]; //下面这句不会出发类初始化,因为在编译阶段,final属性就已加到常量池中了 System.out.println(SubClass.subStringFinal); //下面这句会出发子类初始化 System.out.println(SubClass.subString); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。