知识点1:构造方法的定义:
构造方法:*1)方法名与类同名;
*2)没有返回值;
*3)与返回的修饰符无关;
*4)作用;给成员属性默认赋予初始值。
无参构造方法:
public 类名(){
成员变量=初始值;//可以不写, 在实例化的时候再赋值 。
}
有参构造方法:
/**
* 参数1,参数2,参数3为形参。在实例化时,必须传递实参。
*/
public 类名(参数1,参数2,参数3){
this.成员变量=参数1;//当成员变量与参数1同名的时候必须使用this(本类对象);this关键词是对一个对象的默认引用。
this.成员变量=参数2;
this.成员变量=参数3;
}
知识点2:构造方法的重载;
重载:方法名相同,参数列表不同(包括参数的个数、类型和参数的顺序),必须在同一个类中。
没有无参构造,在实例化时,系统会默认分配一个无参构造,调用无参构造赋值。
自定义一个有参构造,系统就不在分配一个默认无参构造,使用无参构造时,必须手动添加无参构造定义。
案例:
package cn.bbq;
public class Dog {
int age;
String name;
String sex;
String color;
/**
* 狗类
*/
public Dog(){
age=3;
name="楠楠";
sex="雄性";
}
public Dog(String color){
age=4;
name="萌萌";
sex="雌性";
this.color=color;
}
public void print(){
System.out.println("姓名:"+name+"** "+"性别:"+sex+"**"+"年龄:"+this.age+"**"+"毛色:"+color);
}
public static void main(String[] args) {
Dog dog1=new Dog();
dog1.color="黄色";
dog1.print();
Dog dog2=new Dog("黑色");
dog2.print();
}
}