• Class文件结构——类索引、父类索引、接口索引集合


    什么是类索引、父类索引、接口索引集合:

    类索引:this_class(u2类型)2个字节 16位

    父类索引:super_class(u2类型)2个字节 16位

    接口索引集合:interfaces(这里为什么是集合呢,因为我们知道Java中继承接口的时候是可以多继承的)(注意在接口索引集合的入口处还有两个字节的实现接口的数量

    那么我们写一个Java文件分析一下

    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.FileDescriptor;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    
    public class HelloWorld extends FileInputStream implements Runnable,ActionListener{
    
    
        public HelloWorld(String name) throws FileNotFoundException {
            super(name);
        }
    
    
        public HelloWorld(File file) throws FileNotFoundException {
            super(file);
        }
    
    
        public HelloWorld(FileDescriptor fdObj) {
            super(fdObj);
        }
    
    
        @Override
        public void actionPerformed(ActionEvent e) {
    
        }
    
        @Override
        public void run() {
    
        }
    }
    

     我们查看class文件 

    类索引(this.class)位0x0004

    父类索引为(super.class):0x0005

    接口计数器(interface_count):0x0002

    第一个接口索引为:0x0006

    第二个接口索引为:0x0007

     这里的常量池我们同样可以直接通过javap工具进行查看

  • 相关阅读:
    Objective-C中的封装、继承、多态、分类
    C语言知识总结(5)
    C语言知识总结(4)
    C语言知识总结(3)
    C语言知识总结(2)
    C语言知识总结(1)
    H5-定位
    H5——浮动及清浮动
    H5基础标签
    H5盒模型基础
  • 原文地址:https://www.cnblogs.com/flyingcr/p/10428298.html
Copyright © 2020-2023  润新知