JVM笔记 - 05接口的初始化规则

本文回顾了接口的基本特性,接口的成员变量默认为public static final,并且接口不允许有静态代码块。接着详细阐述了接口初始化规则:类在初始化时不初始化父接口,只有在实际使用父接口常量时,父接口才会被初始化。通过示例代码演示了这些规则的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


说明:笔记内容来源于《北京圣思园教育 - 张龙老师 - 深入理解JVM》视频课程。如有侵权,请联系删除。

1 接口基本特性的回顾

1.1 接口的成员变量的默认修饰符

接口的成员变量,修饰符默认是"public static final"
比如,下面代码中,变量a、b的修饰符都是"public static final"

package com.test;

public class MyTest5 {
   
}

interface MyParent5 {
   
	int a = 5;
	
	public static final int b = 5;
}

在这里插入图片描述

1.2 接口不允许有静态代码块

接口不允许有静态代码块
比如,下面的代码会提示错误信息:“The interface MyParent5 cannot define an initializer”

package com.test;

public class MyTest5 {
   
}

interface MyParent5 {
   
	static {
   
		
	}
}

在这里插入图片描述

2 接口初始化概述

① 当一个类在初始化时,要求其父类(以及父类的父类)都已经完成了初始化
② 当一个类初始化时,并不会先初始化父接口
③ 当一个接口初始化时,并不会先初始化父接口<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值