JAVA類與對象(四)----成員變量與局部變量 、成員方法、構造方法


類體中的變量分為兩部分。變量定義部分定義的變量為類的成員變量,在方法體中定義的變量和方法中涉及的變量稱為局部變量。

成員變量和局部變量的區別:

(1)、成員變量在整個類中都有效,局部變量只在定義它的方法中有效

(2)、成員變量分為實例成員變量(簡稱實例變量)和類變量(簡稱靜態變量),如果在成員變量類型前加static,這個變量就稱為類變量。

(3)、如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏 ,也就是說,這個成員變量在這個方法中暫時失效。

例:

public class Benson{

  int x=100,y;

  void f(){

    int x=10;

    y=x;  //這里的y得到的值是10,而不是100

  }

}

注意:如果局部變量的名字與成員變量的名字相同,則成員變量被隱藏,這是如果想在該方法內使用成員變量,必須使用this關鍵字。

例:

public class Employee{

  int sideA,sideB,sideC;

  void setSide(int sideA,int sideB,int sideC){

    this.sideA=sideA; this.sideB=sideB;this.sideC=sideC;

  }

}

 

 

 

方法聲明包括方法名、返回類型和外部參數。其中參數的類型可以是簡單數據類型,也可以是復合數據類型(又稱引用數據類型)。

對於簡單數據類型來說,實現的是值傳遞,方法接收參數的值,但不能改變這些參數的值。如果要改變參數的值,則用引用數據類型,因為引用數據類型傳遞給方法的數據在內存中的地址。

例:

public class PassTest{
    float ptValue;
    public void changeInt(int value){
        value=55;//在方法中對參數進行修改
    }
    public void changeObject(PassTest pt){
        pt.ptValue=88;///在方法中對引用參數進行修改
    }

    public static void main(String argsp[]){
        int val=11;
        System.out.println("初始值:"+val);
        PassTest pt=new PassTest();
        pt.changeInt(val);//值傳遞
        System.out.println("值傳遞后:"+val);
        pt.ptValue=99;
        System.out.println("初始值:"+pt.ptValue);
        pt.changeObject(pt);
        System.out.println("引用傳遞后:"+pt.ptValue);    
    }    
}

 

 

構造方法是一個特殊的方法。java中每個類中都有構造方法,用來初始化該類的一個對象。構造方法具有和類名相同的名稱,而且不返回任何數據類型。同時,構造方法也可以重載。構造方法只能用new操作符調用,當類創建對象的時候使用構造方法。

例:

class Point{

  int x,y;

  Point(){

    x=0;y=0;

  }

  Point(int x,int y){

    this.x=x;this.y=y;

  }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM