Java 如果构造函数没有';没有任何返回类型?
这似乎是一个相当令人困惑的问题。根据定义,我理解构造函数是一种特殊类型的方法,用于初始化对象状态和/或为实例变量赋值 还有人在Stack Overflow中提到构造函数返回类的Java 如果构造函数没有';没有任何返回类型?,java,constructor,Java,Constructor,这似乎是一个相当令人困惑的问题。根据定义,我理解构造函数是一种特殊类型的方法,用于初始化对象状态和/或为实例变量赋值 还有人在Stack Overflow中提到构造函数返回类的对象(实例),而不是普通方法所做/返回的 尽管阅读了大量的教程和参考资料,我还是找不到一个具体的理由来说明构造函数如何能够在不存在return语句的情况下返回值 我很想了解整个过程的内部工作情况。构造函数不返回任何内容。构造函数只是初始化一个实例 A 生成对指定类的新实例的引用 在对类进行求值时显式创建一个新的类实例 实例
对象(实例)
,而不是普通方法所做/返回的
尽管阅读了大量的教程和参考资料,我还是找不到一个具体的理由来说明构造函数如何能够在不存在return语句的情况下返回值
我很想了解整个过程的内部工作情况。构造函数不返回任何内容。构造函数只是初始化一个实例 A 生成对指定类的新实例的引用 在对类进行求值时显式创建一个新的类实例 实例创建表达式(§15.9)导致类 实例化 并调用相应的构造函数来初始化创建的实例 就在对新创建的对象的引用作为 结果,将处理指示的构造函数以初始化新的 对象,请使用以下过程:
构造函数不返回任何内容。构造函数只是初始化一个实例 A 生成对指定类的新实例的引用 在对类进行求值时显式创建一个新的类实例 实例创建表达式(§15.9)导致类 实例化 并调用相应的构造函数来初始化创建的实例 就在对新创建的对象的引用作为 结果,将处理指示的构造函数以初始化新的 对象,请使用以下过程:
它为JVM提供了“return”操作码: “return”返回调用方法: 默认构造函数的代码:
aload_0
invokespecial #1; //Method java/lang/Object
return
它为JVM提供了“return”操作码: “return”返回调用方法: 默认构造函数的代码:
aload_0
invokespecial #1; //Method java/lang/Object
return
Java构造函数不返回任何值
Test1 t1 = new Test1();
NEW test/Test1 //create an uninitized instance of Test1
DUP
NVOKESPECIAL test/Test1.<init> ()V // call construcctor
STORE 1 // save reference to created instance in local var
public <init>()V //V means no return value, void
L0
LINENUMBER 3 L0
ALOAD 0
INVOKESPECIAL java/lang/Object.<init> ()V // call super constructor
RETURN