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