實例變數

在類的聲明中,屬性是用變數來表示的。這種變數就稱為實例變數,是在類聲明的內部但是在類的其他成員方法之外聲明的。類的每個對象維護它自己的一份實例變數的副本。

基本介紹

  • 中文名:實例變數
  • 外文名:The instance variables
  • 含義:定義在類中但在任何方法之外
  • 局部變數:定義在方法之中的變數
實例變數簡介,java中,含義,異同,例子,Ruby中,

實例變數簡介

在類的聲明中,屬性是用變數來表示的。這種變數就稱為實例變數,是在類聲明的內部但是在類的其他成員方法之外聲明的。類的每個對象維護它自己的一份實例變數的副本。

java中

含義

實例變數:定義在類中但在任何方法之外。(New出來的均有初始化)
當一個對象被實例化之後,每個實例變數的值就跟著確定;
實例變數在對象創建的時候創建,在對象被銷毀的時候銷毀;
實例變數的值應該至少被一個方法、構造方法或者語句塊引用,使得外部能夠通過這些方式獲取實例變數信息;
實例變數可以聲明在使用前或者使用後;
訪問修飾符可以修飾實例變數;
實例變數對於類中的方法、構造方法或者語句塊是可見的。一般情況下應該把實例變數設為私有。通過使用訪問修飾符可以使實例變數對子類可見;
實例變數具有默認值。數值型變數的默認值是0,布爾型變數的默認值是false,引用類型變數的默認值是null。變數的值可以在聲明時指定,也可以在構造方法中指定;
實例變數可以直接通過變數名訪問。但在靜態方法以及其他類中,就應該使用完全限定名:ObjectReference.VariableName。

異同

與局部變數
局部變數:定義在方法之中的變數。
1. 局部變數要先賦值,再進行運算,而實例變數均已經賦初值。(這是局部變數和實例變數的一大區別)
2. 實例變數的對象賦值為null。
3. 局部變數不允許範圍內定義兩個同名變數。實例變數的作用域在本類中完全有效,當被其他的類調用的時候也可能有效。
4. 實例變數和局部變數允許命名衝突。

例子

public class Sample
{
private int a=1; //實例變數
public void b()
{
int a=2; //局部變數
System.out.println("局部變數:a="+a);
System.out.println("實例變數:a="+this.a);//局部變數的作用域內引用實例變數:this.變數名
}
public static void main(String[] args)
{
new Sample().b();
}
}
運行輸出:
局部變數:2
實例變數;1

Ruby中

是一種通過類實例參照的 i,因此屬在某個既定對象。實例變數的字母為@,例如:
@hello = hello
實例變數能從它所屬的類外獲得,但只能通過accessor方法。

相關詞條

熱門詞條

聯絡我們