博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初始化对于类和接口的异同点深入解析
阅读量:3707 次
发布时间:2019-05-21

本文共 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/

你可能感兴趣的文章
dotNET ThreadPool 对象中没有足够的自由线程来完成操作 的现象和解决办法
查看>>
转 FTP搜索引擎的设计与实现(优化版)
查看>>
数据挖掘和知识发现的技术 方法及应用
查看>>
USTC 中科大备忘录
查看>>
ASP NET 2 0应用开发技术 9月份出版发行
查看>>
收藏 C++大师Stan Lippman 我对中国程序员的忠告
查看>>
收藏 深入浅出的 网络socket编程指南
查看>>
BP神经网络基本原理
查看>>
书籍 世界是平的
查看>>
墨菲定律 二八法则 马太效应 手表定理 不值得 定律 彼得原理 零和游戏 华盛顿合作规律 酒与污水定律 水桶定律 蘑菇
查看>>
STL学习小结
查看>>
网络编程学习小结
查看>>
数据库编程总结
查看>>
Android系统介绍与框架
查看>>
GDI+编程小结
查看>>
边界跟踪 边缘检测 边缘连接
查看>>
软件架构学习小结
查看>>
C++游戏引擎开发
查看>>
opencv 检测直线 圆 矩形
查看>>
Modbus测试工具ModbusPoll与Modbus Slave使用方法
查看>>