Student s1 = new Student();
类名 对象名 = new 构造方法;
2.当定义一个类时,即使类中什么内容都没有定义,其也默认的隐藏的存在一个无参的构造器(默认无参构造器)。— 编译器提供的。— 当然我们也可以显现的定义出来。
如:
class Student(){
//类的内容是空白的,但是存在一个隐藏的默认无参构造器
}
当我们把它显现的定义出来:
class Student(){
String name;
//显现无参构造器
public Student(){
}
}
但是当在一个类中我们自己定义了带参的构造器后,因为类中存在构造器了,那么编译器就不再为我们提供这个默认无参构造器了,所以此时我们再使用默认无参构造器去创建对象就会报错(找不到匹配的构造器);解决办法就是我们将默认无参构造器自己显现的定义出来。
class Student(){
String name;
//自己定义的带参构造器
public Student(String name){
this.name = name;
}
}
构造器的作用是初始化对象,所以我们在创建对象的时候可以通过带参的构造器初始化对象属性。
public class Stu{}{
//通过带参的构造器初始化对象属性。
Student s1 = new Student("小明");
}
class Student{
String name;
//自己定义的带参构造器
public Student(String name){
this.name = name;
}
}
1)没有返回值类型,也就是不能有返回值。
2)函数名必须和类名一致,包括字母大小写。
3)构造函数之间不能互相调用:
1】一般函数不能直接调用构造函数,但构造函数可以去直接调用一般函数。
2】构造函数只能被new调用去创建并初始化对象,方式就是 new 构造函数;
4)构造函数也属于函数,函数体中也能定义功能代码,但是一般不用其去定义功能代码,而是定义初始化对象的代码内容 — 一般都是为对象持有的属性赋值的代码内容。
5)构造函数中可以使用return关键字,但是因为构造函数没有返回值,所以return不是用于返回返回值的,只是用于结束构造函数的,所以用法是 return; 。虽然在构造函数中可以通过return;来结束构造函数,但是一般也不会用,都是让构造器函数自然执行结束后终止。
用于创建并初始化对象。
构造器都是 new 构造器 来使用,new的作用就是创建对象(在堆中为对象开辟空间),构造器的作用就是为new在堆中开辟的对象空间进行初始化的(一般都是为对象在堆中持有属性去赋值)。
5.构造器的重载:
构造器属于函数 ---- 就有重载 ---- 通过参数列表区分。
重载的带参的构造器主要就是用于在创建对象的同时给对象持有的属性动态去赋值。
new 默认无参构造器; ---- 对象的属性一般都是默认值
new 带参构造器; — 创建对象的同时给对象持有的属性去赋值