From c5411299b2e0b9c937d12f9f3bb6196d6b388b9a Mon Sep 17 00:00:00 2001 From: guide Date: Fri, 18 Feb 2022 21:02:42 +0800 Subject: [PATCH] Update java-basic-questions-02.md --- docs/java/basis/java-basic-questions-02.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/java/basis/java-basic-questions-02.md b/docs/java/basis/java-basic-questions-02.md index 977d1563..5056445b 100644 --- a/docs/java/basis/java-basic-questions-02.md +++ b/docs/java/basis/java-basic-questions-02.md @@ -36,9 +36,11 @@ new 运算符,new 创建对象实例(对象实例在堆内存中),对象 - 对象的相等一般比较的是内存中存放的内容是否相等。 - 引用相等一般比较的是他们指向的内存地址是否相等。 -### 一个类的构造方法的作用是什么? 若一个类没有声明构造方法,该程序能正确执行吗? +### 一个类的构造方法的作用是什么? -构造方法主要作用是完成对类对象的初始化工作。 +构造方法是一种特殊的方法,主要作用是完成对象的初始化工作。 + +### 如果一个类没有声明构造方法,该程序能正确执行吗? 如果一个类没有声明构造方法,也可以执行!因为一个类即使没有声明构造方法也会有默认的不带参数的构造方法。如果我们自己添加了类的构造方法(无论是否有参),Java 就不会再添加默认的无参数的构造方法了,这时候,就不能直接 new 一个对象而不传递参数了,所以我们一直在不知不觉地使用构造方法,这也是为什么我们在创建对象的时候后面要加一个括号(因为要调用无参的构造方法)。如果我们重载了有参的构造方法,记得都要把无参的构造方法也写出来(无论是否用到),因为这可以帮助我们在创建对象的时候少踩坑。