例题4-5 引发的static知识点
?
?
static是靜態(tài)修飾符,什么叫靜態(tài)修飾符呢?大家都知道,在程序中任何變量或者代碼都是在編譯時(shí)由系統(tǒng)自動(dòng)分配內(nèi)存來(lái)存儲(chǔ)的,而所謂靜態(tài)就是指在編譯后所分配的內(nèi)存會(huì)一直存在,直到程序退出內(nèi)存才會(huì)釋放這個(gè)空間,也就是只要程序在運(yùn)行,那么這塊內(nèi)存就會(huì)一直存在。這樣做有什么意義呢?
在Java程序里面,所有的東西都是對(duì)象,而對(duì)象的抽象就是類,對(duì)于一個(gè)類而言,如果要使用他的成員,那么普通情況下必須先實(shí)例化對(duì)象后,通過(guò)對(duì)象的引用才能夠訪問(wèn)這些成員,但是有種情況例外,就是該成員是用static聲明的(在這里所講排除了類的訪問(wèn)控制)
例如
未聲明為static
class ClassA{
int b;
public void ex1(){
…
}
}
class ClassB{
void ex2{
int i;
ClassA a = new ClassA();
i = a.b; //這里通過(guò)對(duì)象引用訪問(wèn)成員變量b
a.ex1; //這里通過(guò)對(duì)象引用訪問(wèn)成員函數(shù)ex1
}
}
聲明為static
class ClassA{
static int b;
static void ex1(){
…
}
}
class ClassB{
void ex2{
int i;
i = ClassA.b; //這里通過(guò)類名訪問(wèn)成員變量b
ClassA.ex1; //這里通過(guò)類名訪問(wèn)成員函數(shù)ex1
}
}
通過(guò)以上兩種比較,就可以知道static用來(lái)修飾類成員的主要作用了,在java類庫(kù)當(dāng)中有很多類成員都聲明為static,可以讓用戶不需要實(shí)例化對(duì)象就可以引用成員,最基本的有Integer.parseInt(),Float.parseFloat()等等用來(lái)把對(duì)象轉(zhuǎn)換為所需要的基本數(shù)據(jù)類型。
轉(zhuǎn)載于:https://www.cnblogs.com/zhangqiang618/archive/2013/03/21/2974088.html
總結(jié)
以上是生活随笔為你收集整理的例题4-5 引发的static知识点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php中bcsub怎么使用
- 下一篇: word文档中的文字如何直接变成繁体字