下面就开始介绍方法表
重新修改源代码,增加一个方法
public class Test {
private int a;
public byte b;
public static Object obj;
protected Object[] objs;
public int add(int a,int b){
return a+b;
}
}
下面两个字节表示方法个数,00 02表示有两个方法,我只定义了一个方法,为什么会出现两个方法
其实里面有一个是默认提供的构造方法,
方法表结构
第一个方法:01 00表示修饰符为public,00 0C 表示对应常量池第12个位置为方法名<init>,00 0D表示对应常量池第13
个位置返回值void类型,属性方面先不做介绍,比较复杂,后期再说。
第二个方法:01 00表示修饰符为public,00 10 表示对应常量池第16个位置为方法名add,00 11表示对应常量池第17
个位置返回值void类型,并且有两个int入参,属性方面先不做介绍,比较复杂,后期再说。
这样就简单介绍了方法表集合。