对构造器的再理解(实例化对象、初始化对象的属性)
构造器的作用:
①创建对象(即实例化对象)
②初始化对象的属性
希望你能有恍然大悟之感
package com.gouzaoqi.bean;
/*
* 构造器的作用
* (1)创建对象(即实例化对象)
* (2)初始化对象的属性
* */
public class ConstructorsTest {
public static void main(String[] args) {
/*
* 试问 new Person(); 中的Person();是什么?
* 没错,它就是构造器,与下面的构造器像不像?
* public Person(){
*
* }
* 希望看完你能恍然大悟
* 在这里,new Person(); 起到了创建对象p的作用
* 有人可能想,自己没有定义构造器啊,
* 原因:如果在一个类中没有显式定义类的构造器,那么
* 系统会默认提供一个的空参构造器
* */
//创建类的对象的方法:new + 构造器;
Person p = new Person();
p.say();
System.out.println(p.name);
Person p1 = new Person("苍老师");
System.out.println(p1.name);
}
}
class Person{
int age;
String name = "小泽";
public Person(){
}
/*注意:当我们提供了有参的构造器后,
系统就不再提供空参构造器。
此时要显式定义一个空参构造器。
这也是为什么在每个类中都最好显式
的定义一个空参的构造器的原因
能在不知不觉中省去我们很多的纠错时间
*/
//初始化对象属性的作用
public Person(String name){
this.name = name;
}
public void say(){
System.out.println("你好,陌生人");
}
}