开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天,点击查看活动详情
Java 构造函数,构造函数是初始化新建对象的代码块。构造函数类似于 java 中实例方法,但严格来说它不是一个方法,因为没有返回类型。构造函数和方法是不同的。经常在 Java 中将构造函数称为特殊类型的方法。
构造函数与类具有相同的名称,在 java 代码中看起来像这样。
public class MyClass{
// constructor
MyClass(){
}
..
}
构造函数如何工作
以上述为例创建MyClass的对象时:
MyClass obj = new MyClass()
关键字**new**在这里创建类MyClass的对象并调用构造函数来初始化新创建的对象。
构造函数的类型
构造函数有三种类型:默认,无参和参数化构造函数和。
默认构造函数
没有在类中实现任何构造函数,Java 编译器会将默认构造函数插入到代码中,即是默认构造函数。
无参数构造函数
没有参数的构造函数称为无参构造函数。
参数化构造函数
带参数的构造函数被称为参数化构造函数。
super()
当调用子类构造函数时,都会隐式调用父类的构造函数。可以理解为编译器在子类构造函数的开头插入super()语句。
构造函数重载
构造函数重载是一个具有多个具有不同参数列表的构造函数的概念,以此方式使每个构造函数执行不同的任务。
几点总结
- 每个类都有一个构造函数,无论它是普通类还是抽象类。
- 构造函数不是方法,它们没有任何返回类型。
- 构造函数名称应与类名匹配。
- 构造函数可以使用任何访问说明符,也可以将它们声明为私有。私有构造函数在 java 中是可能的,但是范围只在类中。
- 类似构造函数方法也可以具有与类名相同的名称,但它们仍然具有返回类型,尽管我们可以识别它们是方法而不是构造函数。
构造函数和方法之间的区别
- 构造函数目的是初始化类的对象,而方法目的是通过执行 java 代码来执行功能。
- 方法可以是构造函数,不能是抽象的,静态的和同步的。
- 构造函数没有返回类型。