目录
- 一、对象创建与访问指令的概述
- 二、对象创建与访问指令
- 三、对象创建与访问指令的示例
一、对象创建与访问指令的概述
- 虽然类实例和数组都是对象,但Java虚拟机对类实例和数组的创建与操作使用了不同的字节码指令。
- 对象创建后,就可以通过对象访问指令获取对象实例或者数组实例中的字段或者数组元素。
二、对象创建与访问指令
| 描述 | 指令 |
|---|---|
| 创建类的实例 | new |
| 访问类字段(static字段或者称为类变量)和实例字段(非static字段或者实例变量) | getfield、putfield、getstatic、putstatic |
| 把一个数组元素加载到操作数栈 | baload、caload、saload、iaload、laload、faload、daload、aaload |
| 将一个操作数栈的值存储到数组元素中 | bastore、castore、sastore、iastore、fastore、daload、aaload |
| 取数组长度的指令 | arraylength |
| 检查类实例类型的指令 | instanceof、checkcast |
三、对象创建与访问指令的示例
-
代码
public class Test1{ public static void main(String []args){ User user=new User(); user.name="xz"; String name=user.name; } } class User{ String name; static int age; } -
执行javac命令编译成.class文件
-
执行javap命令查看字节码指令
