本文共 956 字,大约阅读时间需要 3 分钟。
当Java虚拟机初始化一个类时,要求它的所有父类都已经被初始化,但是这条规则并不适用于接口
/* * Copyright (c) 2019 maoyan.com * All rights reserved. * */import java.util.Random;/** * 对于接口来说,public static final是默认的 * 当一个接口在初始化时,并不要求其父接口都完成了初始化 * 只有在真正使用到父类的接口的时候(如引用接口中定义的常量时),才会初始化 * * @author wangkai * @created 2019/12/30 */public class MyTest4 { public static void main(String[] args) { System.out.println(MyChild4.b); }}interface MyParent4{ public static final int a=new Random().nextInt(3); public static final Thread thread1=new Thread(){ { System.out.println("MyParent4 invoked"); } };}interface MyChild4 extends MyParent4{ public static final int b=new Random().nextInt(3); public static final Thread thread=new Thread(){ { System.out.println("MyChild4 invoked"); } };}
转载地址:http://aobjn.baihongyu.com/