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{ } }