什么是构造器?
构造器负责类中成员变量的初始化(域)
盖房子需要工具和工人,工人使用工具,来修建一个房子,在java中,构造器就好比工具
,而new攻击案子就是工人,通过new关键字和构造器结合来创建对象。
使用构造器初始化对象,而且可以通过这个方法为对象分配内存并做一些其他的初始化工作
还可以使用构造器完成一些其他操作
构造器语法如下
类的修饰符 类的名称(参数列表)
{
//方法体
}
注意:
构造器可以有修饰符,不写即为default类型
构造器名称必须要和类的名称相同
不能有返回值,void也不行
构造器的参数可有可无,可以有一个也可以有多个参数
构造器的形式有很多种,主要分为有参构造器和无参构造器
有参构造器还可以分为一个参数和多个参数的形式
public class test
{
//创建一个无参构造器
public test()
{
//构造器里的方法
}
//创建一个有参构造器
public test(String s)
{
//构造器里的方法
}
}
构造器方法和普通方法的区别
- 构造器是为了创建一个类的对象实例,也可以在创建对象的时候使用
- 方法是为了执行相应的方法体,即Java代码
构造器可以被修饰为public protected,default,private类型
- 但不能被修饰为abstract,final, native,static, synchronized
方法可以有零个或多个参数
- 创建一个类可以不定义构造器,编译器会自动为这个类添加一个没有参数的构造器
- 方法可以修饰为除了protected,native外的修饰符
- 构造器没有返回值,也没有void型。
- 方法没有返回值或有任何类型的返回值
- 构造器的名称要和类的名称相同
- 方法的名称可以任意,但要注意标识符的命名规则,使其更具有意义。
如何实例化一个对象
- 通过调用构造器方法来对这个对象进行一些必要的初始化。
- 用new关键字实例化对象后返回该对象的引用。
new 构造器名称(参数列表)
构造器的调用
- 在本类里调用构造器方法
test a = test new()
- 在不同包下调用构造器方法
import b.apple
apple al = new apple()
- 子类调用父类构造方法
public apple()
{
super();
}
构造器重载
构造器名称相同,但参数列表不同,如参数个数和参数类型等。
- 构造器不能被继承,这和方法有所区别
- 构造器重载的修饰符只有public , private , protected 3种
- 构造器重载的方法没有返回值
class bike
{
public bike()
{
//该构造器方法体
}
public bike(String color,int size)
{
//该构造器方法体
}
}