什么是實例變量java中的實例變量
什么是實例變量java中的實例變量
在類的聲明中,屬性是用變量來表示的,這種變量就稱為實例變量,那么你對實例變量了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是實例變量的內(nèi)容,希望大家喜歡!
java中的實例變量
含義:
實例變量:定義在類中但在任何方法之外。(New出來的均有初始化)
當(dāng)一個對象被實例化之后,每個實例變量的值就跟著確定;
實例變量在對象創(chuàng)建的時候創(chuàng)建,在對象被銷毀的時候銷毀;
實例變量的值應(yīng)該至少被一個方法、構(gòu)造方法或者語句塊引用,使得外部能夠通過這些方式獲取實例變量信息;
實例變量可以聲明在使用前或者使用后;
訪問修飾符可以修飾實例變量;
實例變量對于類中的方法、構(gòu)造方法或者語句塊是可見的。一般情況下應(yīng)該把實例變量設(shè)為私有。通過使用訪問修飾符可以使實例變量對子類可見;
實例變量具有默認值。數(shù)值型變量的默認值是0,布爾型變量的默認值是false,引用類型變量的默認值是null。變量的值可以在聲明時指定,也可以在構(gòu)造方法中指定;
實例變量可以直接通過變量名訪問。但在靜態(tài)方法以及其他類中,就應(yīng)該使用完全限定名:ObjectReference.VariableName。
與局部變量的異同:
局部變量:定義在方法之中的變量。
1. 局部變量要先賦值,再進行運算,而實例變量均已經(jīng)賦初值。(這是局部變量和實例變量的一大區(qū)別)
2. 實例變量的對象賦值為null。
3. 局部變量不允許范圍內(nèi)定義兩個同名變量。實例變量的作用域在本類中完全有效,當(dāng)被其他的類調(diào)用的時候也可能有效。
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);//局部變量的作用域內(nèi)引用實例變量:this.變量名
}
public static void main(String[] args)
{
new Sample().b();
}
}
運行輸出:
局部變量:2
實例變量;1
Ruby中的實例變量
是一種通過類實例參照的 i,因此屬在某個既定對象。實例變量的字母為@,例如:
@hello = hello
實例變量能從它所屬的類外獲得,但只能通過accessor方法。
看過“java中的實例變量”的人還看了: