From 103b75b80b1697234051753ce6e33db6978aa1be Mon Sep 17 00:00:00 2001 From: Jason Lu Date: Mon, 17 Feb 2025 13:36:44 +0800 Subject: [PATCH] add demo for how new keyword working --- src/jvm/ObjectCreate.java | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/jvm/ObjectCreate.java diff --git a/src/jvm/ObjectCreate.java b/src/jvm/ObjectCreate.java new file mode 100644 index 0000000..1431aad --- /dev/null +++ b/src/jvm/ObjectCreate.java @@ -0,0 +1,27 @@ +package jvm; + +/** + * This class is intended to demo how jvm create object and invoke constructor. Please see byte code. + * use javap -v ObjectCreate.class or javap -c ObjectCreate.class to see byte code + */ +public class ObjectCreate { + private String field; + + // will invoked by invokespecial + public ObjectCreate(String field) { + this.field = field; + } + + public void print() { + show(); + } + + private void show() { + System.out.println(field); + } + + public static void main(String[] args) { + ObjectCreate objectCreate = new ObjectCreate("hello!"); + objectCreate.print(); + } +}