有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Jasmin的Java字节码:为什么信息没有打印在屏幕上?

我最近对Java字节码产生了兴趣,我创建了以下Hello World程序

“Hello World”是打印出来的,但是我不明白为什么“Creating awesome object”没有打印出来。你能帮我找出我做错了什么吗

.class public HelloWorld
.super java/lang/Object

.method public <init>()V
    .limit stack 2

    aload_0  ; push 'this' unto stack
    invokespecial java/lang/Object/<init>()V  ; invoke constructor

    getstatic java/lang/System/out Ljava/io/PrintStream;
    ldc "Creating awesome object!"
    invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

    return
.end method

.method public static main([Ljava/lang/String;)V
    .limit stack 2

    getstatic java/lang/System/out Ljava/io/PrintStream;
    ldc "Hello world"
    invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V

    return
.end method

共 (1) 个答案

  1. # 1 楼答案

    我对Java字节码知之甚少,但在我看来,您并没有在main中创建HelloWorld的实例。如果不创建实例,则不会调用构造函数,因此就有了它。:)