Java中static的含义和用法
Java中static的含義和用法
static:靜態(tài)的,用于修飾成員(成員變量,成員方法);
1.被static所修飾的變量或者方法會(huì)儲(chǔ)存在數(shù)據(jù)共享區(qū);
2.被static修飾后的成員變量只有一份!
3. 當(dāng)成員被static修飾之后,就多了一種訪問方式,除了可以被對(duì)象調(diào)用之外,還可以直接被類名調(diào)用,(類名.靜態(tài)成員);
4.static的特點(diǎn):
1.隨著類的加載而被加載;
2.優(yōu)先于對(duì)象存在;
3.被所有對(duì)象共享;
5.被static修飾的變量成為靜態(tài)變量(類變量)或者實(shí)例變量;
6.存放位置
1.類變量隨著類的加載而存在于date內(nèi)存區(qū);
2.實(shí)例變量隨著對(duì)象的建立而存在于堆內(nèi)存;
7.生命周期:
1.類變量周期生命最長,隨著類的消失而消失;
2.實(shí)例變量生命周期比類變量短,它是隨著對(duì)象的消失而消失;
8.方法注意事項(xiàng):
1.靜態(tài)的方法只能訪問靜態(tài)的成員;
2.非靜態(tài)得方法即能訪問靜態(tài)得成員(成員變量,成員方法)又能訪問非靜態(tài)得成員;
3.局部變量不能被static修飾;
public static void main(String[] args) {//局部變量不能被static修飾//Modifier 'static' not allowed herestatic int b ;//報(bào)錯(cuò)}4.靜態(tài)得方法中是不可以定義this、super關(guān)鍵字的,因?yàn)殪o態(tài)優(yōu)先于對(duì)象存在,所以靜態(tài)方法不可以出this;
9.什么時(shí)候使用static修成員:
當(dāng)屬于同一個(gè)類的所有對(duì)象出現(xiàn)共享數(shù)據(jù)時(shí),就需要將存儲(chǔ)這個(gè)共享數(shù)據(jù)的成員用static修飾;
10.什么時(shí)候使用static修飾方法:
當(dāng)功能內(nèi)部沒有訪問到非靜態(tài)的成員時(shí)(對(duì)象特有的數(shù)據(jù))那么該功能可以定義成靜態(tài)的;
Example: ? class Examples{ ?String name; ?//當(dāng)屬于同一個(gè)類的所有對(duì)象出現(xiàn)共享數(shù)據(jù)時(shí),就需要將存儲(chǔ)這個(gè)共享數(shù)據(jù)的成員用static修飾; ?static String country; ? //當(dāng)功能內(nèi)部沒有訪問到非靜態(tài)的成員時(shí)(對(duì)象特有的數(shù)據(jù))那么該功能可以定義成靜態(tài)的; ?static void print(){System.out.println("你好"+country);} ? //當(dāng)功能內(nèi)部有訪問到非靜態(tài)的成員時(shí)(對(duì)象特有的數(shù)據(jù))那么該功能就不可以定義成靜態(tài)的; ?void print1(){System.out.println("你好"+name);} } ? public class Test{public static void main(String[] args){Examples One = new Examples();Examples Tow = new Examples();Examples.country = "中國";One.name = "小明";//One.country = "中國"; ?Tow .name = "小花";//Tow .country = "中國"; ?//類名.靜態(tài)方法名Examples.print();One.print1();} ? }總結(jié)
以上是生活随笔為你收集整理的Java中static的含义和用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 公户转私户要交个人所得税吗
- 下一篇: 航空意外险属于哪类保险