interface IA{
public void md();
}
public class Test07 implements IA{
final double d = 2.0d;
final float f = 2.0f;
final int i = 10000;
final byte b = 10;
String s = "mazhi";
public void md(){
IA ia = new Test07();
ia.md();
}
}
最后经过Gen处理后变为:
interface IA{
public void md();
}
public class Test07 implements IA{
final double d ;
final float f;
final int i;
final byte b;
String s;
public <init>() {
super();
d = 2.0;
f = 2.0F;
i = 10000;
b = 10;
s = "mazhi";
}
public void md(){
IA ia = new Test07();
ia.md();
}
}
常量池中可能存储的符号有:
类型 |
标志 |
描述 |
CONSTANT_utf8_info |
1 |
UTF-8编码的字符串 |
CONSTANT_Integer_info |
3 |
整型字面量 |
CONSTANT_Float_info |
4 |
浮点型字面量 |
CONSTANT_Long_info |
5 |
长整型字面量 |
CONSTANT_Double_info |
6 |
双精度浮点型字面量 |
CONSTANT_Class_info |
7 |
类或接口的符号引用 |
CONSTANT_String_info |
8 |
字符串类型字面量 |
CONSTANT_Fieldref_info |
9 |
字段的符号引用 |
CONSTANT_Methodref_info |
10 |
类中方法的符号引用 |
CONSTANT_InterfaceMethodref_info |
11 |
接口中方法的符号引用 |
CONSTANT_NameAndType_info |
12 |
字段或方法的符号引用 |
CONSTANT_MethodType_info |
15 |
标志方法类型 |
CONSTANT_MethodHandle_info |
16 |
表示方法句柄 |
CONSTANT_InvokeDynamic_info |
18 |
表示一个动态方法调用点 |