public class constructor {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p = new Person("张三",25,"山东");//构造函数的作用就是强制进行初始化,在进行赋值的时候如果有遗漏立即报错
//如:Person p = new Person("张三",25); 会报错,提示少了一个赋值
p.outPut();
}
}
//this关键词在同一个类里面的方法去调用同一个类里的其他的方法时,this可以写也可以不写
//this可以看作变量,是对当前对象的引用/地址
class Person{
private String name;
private int age;
private String city;
public Person(){//不带参数的显式构造方法(构造方法可以重载)
System.out.println("无参构造方法");
}
public Person(String Name,int Age,String City){//带参数的显式构造方法
this();//在一个构造方法里可以调用另一个构造方法,但是this();这句话必须放在构造方法的首句!!
this.name = Name;
this.age = Age;
this.city = City;
}
//封装
public String getName(){
return name;
}
public void setName(String sName) {
name = sName;
}
public int getAge(){
return age;
}
public void setAge(int sAge) {
age = sAge;
}
public String getCity() {
return city;
}
public void setCity(String sCity) {
city = sCity;
}
public void outPut(){//输出
System.out.println("姓名:"+name+",年龄:"+age+",地址:"+city);
}
}