使用构造方法时的注意事项:
构造方法的创建 1、如果没有定义构造方法,系统将不再提供默认的构造方法 2、如果定义了构造方法,系统将不再提供默认的构造方法
构造方法的重载 1、如果自定义了带参数的构造方法,还要使用无参数的构造方法,就必须在写一个无参数构造方法
推荐的使用方式 1、无论是否使用无参数的构造方法,都必须自己手动写无参数构造方法
构造方法的作用:创建对象,完成对象数据的初始化。格式如下
xxxxxxxxxx
public class 类名{
修饰符 类名(参数) {
}
}
构造方法练习
xxxxxxxxxx
package ch2;
public class a7_1构造方法 {
//写两个成员变量
private String name;
private int age;
//构造方法
//public a7_1构造方法(){
// System.out.println("无参数构造方法 not bulidnum way");
//}
//无参构造方法(使用有参的时候也要把无参的public写出来,不然会报错)
public a7_1构造方法() {
}
//构造方法
public a7_1构造方法(String name) {
this.name = name;
}
//再写一个构造方法
public a7_1构造方法(int age){
this.age = age;
}
//最后写一个完整的构造方法
public a7_1构造方法(String name,int age){
this.name = name;
this.age = age;
}
//name成员方法
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
//age成员方法
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
//最后写一个show方法
public void show() {
System.out.println(name + "," + age);
}
}
构造方法案例
xxxxxxxxxx
package ch2;
public class a7_2测试构造方法 {
public static void main(String[] args) {
//创建对象(根据无参构造方法创建的对象),且赋值
a7_1构造方法 s1 = new a7_1构造方法();
s1.setName("lihua1");
s1.setAge(19);
s1.show();
//创建一个有参构造方法的对象
a7_1构造方法 s2 = new a7_1构造方法("Jack"); //直接输入"Jack",前面的name是系统自动补全的
s2.show();
//根据上一个文件的age构造方法来创建一个对象
a7_1构造方法 s3 = new a7_1构造方法(30); //直接输入"30",前面的age是系统自动补全的
s3.show();
//根据上一个文件的完整构造方法创建一个对象,且赋值
a7_1构造方法 s4 = new a7_1构造方法("Lina",18);
s4.show();
}
//上面四种方法其实也是重载的形式,即方法名相同,参数列表不同
}