InnerClasses_attribute {
u2 attribute_name_index; //名称,恒为 InnerClasses
u4 attribute_length;
u2 number_of_classes; //内部类的个数
{
u2 inner_class_info_index; // 内部类的类型
u2 out_class_info_index; //外部类的类型
u2 inner_name_index; //内部类的名称
u2 inner_class_access_flags; //内部类的访问标识符
} classes[number_of_classes];
}
内部类访问标识符
|访问标识|值|含义|
|–|–|–|
|ACC_PUBLIC|0x0001|public公告类|
|ACC_PRIVATE|0x0002|私有类|
|ACC_PROTECTED|0x0004|受保护的类|
|ACC_FINAL|0x0010|final类|
|ACC_INTERFACE|0x0200|接口|
|ACC_ABSTRACT|0x0400|抽象类|
|ACC_SYNTHETIC|0x1000|编译器产生的,非代码产生的类|
|ACC_ANNOTATION|0x2000|注释|
|ACC_ENUM|0x4000|枚举|
内部类
package com.mousycoder.mycode.thinking_in_jvm;
/**
* @version 1.0
* @author: mousycoder
* @date: 2019-09-02 14:48
*/
public class SimpleInnerClass {
public static class In{
}
}