您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Java類變量和類方法實(shí)例分析”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
1.靜態(tài)變量被同一個(gè)類的所有對(duì)象共享
2.static類變量在類加載的時(shí)候就生成使用
static保存在class實(shí)例的尾部,在堆中
3.和C語(yǔ)言C++有點(diǎn)像
package com.demo.static_; import java.sql.SQLOutput; public class childgeme { public static void main(String[] args) { Child ch01=new Child("牛牛牛"); ch01.join(); ch01.count++; Child ch02=new Child("馬馬馬"); ch02.join(); ch02.count++; Child ch03=new Child("豬豬豬"); ch03.join(); ch03.count++; System.out.println("共有"+Child.count+"個(gè)小孩加入了游戲"); System.out.println("ch01.count="+ch01.count); System.out.println("ch02.count="+ch02.count); System.out.println("ch03.count="+ch03.count); } } class Child{ private String name; //定義一個(gè)變量count,是一個(gè)類變量(靜態(tài)變量) public static int count=0; public Child(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public static int getCount() { return count; } public static void setCount(int count) { Child.count = count; } public void join(){ System.out.println(this.name+"加入了游戲"); } }
靜態(tài)變量的訪問權(quán)限和范圍和普通屬性是一樣的
package com.demo.static_; import java.sql.SQLOutput; public class visit_Static { public static void main(String[] args) { //1.類名.類變量名 //static類變量在類加載的時(shí)候就生成使用 System.out.println("A.name="+A.name); System.out.println("A.getAge()="+A.getAge()); //2.類對(duì)象.類變量名 A a=new A(); System.out.println("a.name="+a.name); System.out.println("a.getAge()="+a.getAge()); } } class A{ //類變量 public static String name="Demo龍"; private static int age=99; public static int getAge() { return age; } public static void setAge(int age) { A.age = age; } }
若類變量是private,則主函數(shù)中無(wú)法訪問,需借助類函數(shù)訪問
1.類方法也叫靜態(tài)方法
2.訪問修飾符+static+數(shù)據(jù)返回類型(){}
3.static+訪問修飾符+數(shù)據(jù)返回類型(){}
4.調(diào)用方法和類方法相同
package com.demo.static_; public class static_method { public static void main(String[] args) { stu a01=new stu("小虎"); //stu.sumfee(); a01.sumfee(150); stu a02=new stu("小龍"); a02.sumfee(250); //stu.sumfee(); stu a03=new stu("小豬"); stu.sumfee(199); //輸出當(dāng)前收到的總學(xué)費(fèi) stu.showfee(); } } class stu{ private String name;//普通成員 //定義一個(gè)靜態(tài)變量來(lái)累計(jì)學(xué)生的學(xué)費(fèi) private static double fee=0; public stu(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } //當(dāng)方法使用了static修飾后,該方法就是靜態(tài)方法 //靜態(tài)方法就可以訪問靜態(tài)變量 public static double getFee() { return fee; } public static void setFee(double fee) { stu.fee = fee; } public static void sumfee(double fee){ stu.fee+=fee; } public static void showfee(){ System.out.println("總學(xué)費(fèi)="+stu.fee); } }
detail
1.靜態(tài)方法只能訪問靜態(tài)成員,this/super都不允許在類方法使用
2.非靜態(tài)方法,可以訪問靜態(tài)成員和非靜態(tài)成員
3.都遵守訪問權(quán)限
“Java類變量和類方法實(shí)例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。