標籤:java成員/局部變數和構造器總結
1)成員變數和局部變數的區別
1.1)在類中的位置不同
成員變數:類中方法外
局部變數:方法定義中或者方法聲明上
1.2)在記憶體中的位置不同
成員變數:在堆中
局部變數:在棧中
1.3)生命週期不同
成員變數:隨著對象的建立而存在,隨著對象的消失而消失
局部變數:隨著方法的調用而存在,隨著方法的調用完畢而消失
1.4)初始化值不同
成員變數:有預設值
局部變數:沒有預設值,必須定義,賦值,然後才能使用
2)構造器(構造方法、建構函式)
[<modifier>] <class_name> ( [<type arg_name >, ..]) {
[<statements>]
}
2.1)格式:
2.1.1)方法名和類名相同
2.1.2)沒有傳回值類型,連void都不能有
2.1.3)沒有傳回值
2.2)構造器特點:
2.2.1)一個類可以有多個構建器,但這些構造器的參數列表必須不同
2.2.2)每個類都會至少有一個構造器,如果沒有定義構造器,則系統將自動提供一個預設的不帶任何參數的構造器,如果類沒有定義構造器,可以用這個預設的構造起來產生一個對象.推薦:永遠手動自己給出無參構造方法。
2.3)構造器的作用
用於對對象的資料進行初始化。通過構造器來建立對象,使用new 關鍵字來建立一個對象new後面調用的是類中的一個構造器。
2.4)給成員變數賦值的方式
2.4.1)setXxx()
2.4.2)帶參構造方法
2.5)案例
class Student {private String name;private int age;public Student(){}public Student(String name,int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
2.5.1)測試
class StudentDemo {public static void main(String[] args) {//方式1Student s1 = new Student();s1.setName("張三");s1.setAge(27);System.out.println(s1.getName()+"---"+s1.getAge());//方式2Student s2 = new Student("李四",30);System.out.println(s2.getName()+"---"+s2.getAge());}}
本文出自 “永不放棄!任志遠” 部落格,謝絕轉載!
Java成員/局部變數和構造器總結