定义一个构造器:(构造方法必须没有返回值)
class Person{
public Person(){
}
}
public class void main(String[] args){
Person person = new Person();
}
?
1.在类里面即使你什么都不写,都会存在一个构造器.
2.当我们在用new关键字创建一个新对象的时候,对象调用的一定是方法,而不是调用类!!这就是为什么即使什么都不写依然会存在一个构造器的原因,因为要定义一个对象就一定需要构造器!简单理解为使用new创建对象的本质就是在调用构造器。
举个例子:
?
?//还是刚才那个构造器
class Person{
String st;
public Person(){
this.st = "OK!";
}
}
public class void main(String[] args){
Person person = new Person();
System.out.println(person.st);
//这里会输出OK!而不是NULL了,因为对象调用的是方法person而person已经定义了st为"OK!"
}
?
?
上面我们说的是无参数的构造器,下面我们来介绍有参数的构造器。
有参构造,一旦有了有参构造,无参构造就必须显式定义,什么意思呢,下面来解释:
?
?
?//还是刚才那个构造器
class Person{
String st;
public Person(){
this.st = "不OK!"
}
public Person(int a){
this.st = "OK!"
}
}
public class void main(String[] args){
Person person1 = new Person();//这里调用的是无参构造。
Person person2 = new Person(20);//这里调用的是有参构造。
//当然,你的对象名也不能相同,否则会报错。
}
?
?
?
无参构造是什么意思:就是在构造器中不加参数的。
显式定义是什么意思:就是即使方法里面什么东西都没有你也要把该方法写出来。
其实构造器最大的作用就是初始化值!
快捷键:在IDEA里面Alt+Insert 快速建立构造器!
|