一.构造器:也叫构造方法,是类的成员之一
类的成员:属性
方法
构造器 --与属性方法平级,习惯写在属性和方法之间
1.构造器的格式:
访问控制修饰符 类名(参数列表){
//功能语句
}
2.构造器的作用
①创建对象
②为对象进行初始化(对象一被创建的同时具备的(功能)属性和行为)
3.构造器的注意
①构造器的名称必须与类名一样
②若一个类中没有显示的提供任何构造器时,系统会提供一个默认无参构造器
public Person(){}
③若一个类中显示的提供了任何构造器,系统默认无参构造器将不再提供
④构造器只能调用一次,并且是在创建对象的时候
⑤构造器之间可以构成重载
⑥无返回值类型
4.构造器重载:
在同一个类中
①构造器名称相同
②构造器参数列表不同(参数的个数,参数类型)
5.为属性赋初始值的方式:
①默认值(缺省值)
②直接显示赋值
③构造器赋值
顺序:① ② ③
class ConstructorTest
{
public static void main(String[] args)
{
/*Person p=new Person();
System.out.println(p.getName());
//p.cry();
Person p1=new Person();
System.out.println(p1.getName());
//p1.cry();
Person p2=new Person();
System.out.println(p2.getName());
//p2.cry();*/
Person p=new Person("里斯"); //构造器只能调用一次,用于初始化对象
System.out.println(p.getName());
Person p1=new Person("乌昂五",15);
p1.setName("王五");//改名
System.out.println(p1.getName()+" ,"+p1.getAge());
//new Person("肥肉");//另一个全新对象
}
}
class Person
{
private String name;
private int age;
//声明一个构造器
public Person(){
this.name="张三";
System.out.println("Person's Constructor!");
cry();
}
public Person(String name){
this.name=name;
}
public Person(String name,int age){
this.name=name;
this.age=age;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age=age;
}
public int getAge(){
return age;
}
public void cry(){
System.out.println("哭...");
}
}