标签:input code stream odi import except ace sum interface
上一章节讲到了访问标志,如下表可知访问标志之后是this_class(这个类)和super_class(父类)和interfaces_count(继承接口的数量)和interfaces(继承的接口),各占2个字节。
类型 | 名称 | 数量 |
u4 | magic | 1 |
u2 | minor_version | 1 |
u2 | major_version | 1 |
u2 | constant_pool_count | 1 |
cp_info | constant_pool | constant_pool_count - 1 |
u2 | access_flags | 1 |
u2 | this_class | 1 |
u2 | super_class | 1 |
u2 | interfaces_count | 1 |
u2 | interfaces | interfaces_count |
u2 | fields_count | 1 |
field_info | fields | fields_count |
u2 | methods_count | 1 |
method_info | methods | methods_count |
u2 | attribute_count | 1 |
attribute_info | attributes | attributes_count |
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; public class Test extends FileInputStream implements Runnable,ActionListener{ public Test(File file) throws FileNotFoundException { super(file); // TODO Auto-generated constructor stub } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub } @Override public void run() { // TODO Auto-generated method stub } }
C:\Users\Administrator\Desktop>javap -verbose Test.class Classfile /C:/Users/Administrator/Desktop/Test.class Last modified 2018-5-13; size 471 bytes MD5 checksum 150d8c5a88b79752ec7a2200bff2b737 Compiled from "Test.java" public class Test extends java.io.FileInputStream implements java.lang.Runnable,java.awt.event.ActionListener minor version: 0 major version: 52 flags: ACC_PUBLIC, ACC_SUPER Constant pool: #1 = Methodref #3.#18 // java/io/FileInputStream."<init>":(Ljava/io/File;)V #2 = Class #19 // Test #3 = Class #20 // java/io/FileInputStream #4 = Class #21 // java/lang/Runnable #5 = Class #22 // java/awt/event/ActionListener #6 = Utf8 <init> #7 = Utf8 (Ljava/io/File;)V #8 = Utf8 Code #9 = Utf8 LineNumberTable #10 = Utf8 Exceptions #11 = Class #23 // java/io/FileNotFoundException #12 = Utf8 actionPerformed #13 = Utf8 (Ljava/awt/event/ActionEvent;)V #14 = Utf8 run #15 = Utf8 ()V #16 = Utf8 SourceFile #17 = Utf8 Test.java #18 = NameAndType #6:#7 // "<init>":(Ljava/io/File;)V #19 = Utf8 Test #20 = Utf8 java/io/FileInputStream #21 = Utf8 java/lang/Runnable #22 = Utf8 java/awt/event/ActionListener #23 = Utf8 java/io/FileNotFoundException { public Test(java.io.File) throws java.io.FileNotFoundException; descriptor: (Ljava/io/File;)V flags: ACC_PUBLIC Code: stack=2, locals=2, args_size=2 0: aload_0 1: aload_1 2: invokespecial #1 // Method java/io/FileInputStream."<init>":(Ljava/io/File;)V 5: return LineNumberTable: line 10: 0 line 12: 5 Exceptions: throws java.io.FileNotFoundException public void actionPerformed(java.awt.event.ActionEvent); descriptor: (Ljava/awt/event/ActionEvent;)V flags: ACC_PUBLIC Code: stack=0, locals=2, args_size=2 0: return LineNumberTable: line 18: 0 public void run(); descriptor: ()V flags: ACC_PUBLIC Code: stack=0, locals=1, args_size=1 0: return LineNumberTable: line 24: 0 } SourceFile: "Test.java"
标签:input code stream odi import except ace sum interface
原文地址:https://www.cnblogs.com/shyroke/p/9032080.html