1.class public LMain; 2.super Ljava/lang/Object; 3 4#expected output: 5#returning a string 6#42 7 8.method public constructor <init>()V 9 .registers 1 10 invoke-direct {p0}, Ljava/lang/Object;-><init>()V 11 return-void 12.end method 13 14.method public static main([Ljava/lang/String;)V 15 .registers 4 16 17 sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream; 18 19 new-instance v1, LMain; 20 invoke-direct {v1}, LMain;-><init>()V 21 invoke-virtual {v1}, LMain;->overloadTest()Ljava/lang/String; 22 move-result-object v2 23 24 invoke-virtual {v0, v2}, Ljava/io/PrintStream;->println(Ljava/lang/Object;)V 25 26 invoke-virtual {v1}, LMain;->overloadTest()I 27 move-result v2 28 29 invoke-static {v2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String; 30 move-result-object v2 31 32 invoke-virtual {v0, v2}, Ljava/io/PrintStream;->println(Ljava/lang/Object;)V 33 34 return-void 35.end method 36 37 38.method public overloadTest()Ljava/lang/String; 39 .registers 1 40 41 const-string v0, "returning a string" 42 return-object v0 43.end method 44 45.method public overloadTest()I 46 .registers 1 47 48 const v0, 42 49 return v0 50.end method