構(gòu)造方法:
主要用來給對象的數(shù)據(jù)進行初始化
構(gòu)造方法格式:
A:構(gòu)造方法格式
a:方法名與類名相同
b:沒有返回值類型蕴忆,連void都沒有
c:沒有具體的返回值
public class Student {
public Student() {
System.out.println("這是構(gòu)造方法");
}
}
測試類
public class StudentDemo {
public static void main(String[] args) {
//通過new關(guān)鍵字調(diào)用
//格式:類名 對象名 = new 構(gòu)造方法(...);
Student s = new Student();//就是創(chuàng)建對象用于給對象進行初始化
}
}
構(gòu)造方法注意事項與重載
A:如果我們沒有給出構(gòu)造方法骚腥,系統(tǒng)將會提供一個默認的無參構(gòu)造方法供我們使用。
B:如果我們給出了構(gòu)造方法静汤,系統(tǒng)將不在提供默認的無參構(gòu)造方法供我們使用霞怀。這個時候,如果我們想使用無參構(gòu)造方法辞居,就必須自己提供焙矛。
推薦:自己給無參構(gòu)造方法
C:構(gòu)造方法也是可以重載的
public class Student {
private String name;
private int age;
public Student() {}
public Student(String name) {
this.name = name;
}
public Student(int age) {
this.age = age;
}
public Student(String name,int age) {
this.name = name;
this.age = age;
}
public void show() {
System.out.println(name+"---"+age);
}
}
測試類
public class StudentDemo {
public static void main(String[] args) {
//通過new關(guān)鍵字調(diào)用
//格式:類名 對象名 = new 構(gòu)造方法(...);
Student s = new Student();
s.show();
//public Student(String name)
Student s2 = new Student("林青霞");
s2.show();
//public Student(int age)
Student s3 = new Student(28);
s3.show();
//public Student(String name,int age)
Student s4 = new Student("林青霞",28);
s4.show();
}
}
包含private,無參,有參構(gòu)造的標(biāo)準學(xué)生類代碼:
A:類:
a:成員變量
b:構(gòu)造方法
無參構(gòu)造方法
帶參構(gòu)造方法
c:成員方法
getXxx()
setXxx()
B:給成員變量賦值的方式
a:無參構(gòu)造方法+setXxx()
b:帶參構(gòu)造方法
public class Student {
//成員變量
private String name;
private int age;
//構(gòu)造方法
public Student() {}
public Student(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 class StudentDemo {
public static void main(String[] args) {
//無參+setXxx()
Student s = new Student();
s.setName("林青霞");
s.setAge(28);
System.out.println(s.getName()+"---"+s.getAge());
//帶參構(gòu)造
Student s2 = new Student("林青霞",28);
System.out.println(s2.getName()+"---"+s2.getAge());
}
}
構(gòu)造函數(shù)和成員方法的區(qū)別
構(gòu)造方法是初始化一個類的對象時候調(diào)用的朵诫,它沒有返回值,而且名字必須與類的名字一樣薄扁,而成員函數(shù)是由類對象主動調(diào)用的,使用點操作符废累,它有返回值
構(gòu)造函數(shù)是賦予對象生命特征的,成員方法則是對象所具有的"行為,能力"
構(gòu)造函數(shù)只有在建立對象時由系統(tǒng)調(diào)用的,其他任何時候你都別指望用他.