首页 >Java >java教程 >构造函数

构造函数

Patricia Arquette
Patricia Arquette原创
2025-01-06 00:26:43261浏览

构造函数

1) 什么是构造函数?
--->在Java中,构造函数是类似于方法的代码块。当创建类的实例时调用它。调用构造函数时,会在内存中分配对象的内存。
--->它是一种特殊类型的方法,用于初始化对象。
--->每次使用 new 关键字创建对象时,都会至少调用一个构造函数。
--->如果类中没有可用的构造函数,它将调用默认构造函数。在这种情况下,Java编译器默认提供了一个默认构造函数。

定义构造函数有以下规则:

  • 构造函数名称必须与其类名称相同。
  • 构造函数必须没有显式返回类型。
  • Java 构造函数不能是抽象的、静态的、最终的和同步的。[TBD]

2) 构造函数的类型
Java 中的构造函数分为三种类型:

  • 默认构造函数
  • 参数化构造函数
  • 复制构造函数

1。 Java 中的默认构造函数

没有参数的构造函数称为默认构造函数。默认构造函数是不可见的。如果我们编写一个不带参数的构造函数,编译器不会创建默认构造函数。它被取出来。它被重载并被称为参数化构造函数。默认构造函数更改为参数化构造函数。但参数化构造函数不能更改默认构造函数。默认构造函数可以是隐式的或显式的。

隐式默认构造函数:如果类中没有定义构造函数,Java编译器会自动提供默认构造函数。该构造函数不带任何参数,并使用默认值初始化对象,例如数字为 0,对象为 null。

显式默认构造函数:如果我们定义一个不带参数的构造函数,则称为显式​​默认构造函数。该构造函数替换了编译器通常自动创建的构造函数。一旦定义了任何构造函数(带或不带参数),编译器就不再为您提供默认构造函数。

2。 Java中的参数化构造函数
具有参数的构造函数称为参数化构造函数。如果我们想用我们自己的值初始化类的字段,那么使用参数化构造函数。

3。 Java 中的复制构造函数 [TBD]
与其他构造函数不同,复制构造函数与另一个对象一起传递,该对象将可用数据从传递的对象复制到新创建的对象。

3) 什么是构造函数重载?
构造函数重载可以定义为具有多个具有不同参数的构造函数的概念,以便每个构造函数可以执行不同的任务。
Java 除了重载方法之外还支持构造函数重载。在Java中,重载的构造函数是根据执行new时指定的参数来调用的。有时需要以不同的方式初始化对象。这可以使用构造函数重载来完成。

4) “this”关键字有什么用?
“this”关键字指的是方法或构造函数中的当前对象。

“this”关键字最常见的用途是消除类属性和同名参数之间的混淆(因为类属性被方法或构造函数参数隐藏)。

“这个”也可以用于:

  • 调用当前类构造函数
  • 调用当前类方法
  • 返回当前类对象
  • 在方法调用中传递参数
  • 在构造函数调用中传递参数

参考
https://www.javatpoint.com/java-constructor
https://www.geeksforgeeks.org/constructors-in-java/
https://www.javatpoint.com/constructor-overloading-in-java
https://www.geeksforgeeks.org/constructor-overloading-java/
https://www.w3schools.com/java/ref_keyword_this.asp

以上是构造函数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn