Java超詳細講解類變量和類方法
1.static靜態(tài)變量
1.靜態(tài)變量被同一個類的所有對象共享
2.static類變量在類加載的時候就生成使用
static保存在class實例的尾部,在堆中
3.和C語言C++有點像
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+"個小孩加入了游戲");
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;
//定義一個變量count,是一個類變量(靜態(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+"加入了游戲");
}
}
2.類變量(靜態(tài)變量的訪問)
靜態(tài)變量的訪問權限和范圍和普通屬性是一樣的
package com.demo.static_;
import java.sql.SQLOutput;
public class visit_Static {
public static void main(String[] args) {
//1.類名.類變量名
//static類變量在類加載的時候就生成使用
System.out.println("A.name="+A.name);
System.out.println("A.getAge()="+A.getAge());
//2.類對象.類變量名
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ù)中無法訪問,需借助類函數(shù)訪問
3.類方法
1.類方法也叫靜態(tài)方法
2.訪問修飾符+static+數(shù)據返回類型(){}
3.static+訪問修飾符+數(shù)據返回類型(){}
4.調用方法和類方法相同
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);
//輸出當前收到的總學費
stu.showfee();
}
}
class stu{
private String name;//普通成員
//定義一個靜態(tà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;
}
//當方法使用了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("總學費="+stu.fee);
}
}
detail
1.靜態(tài)方法只能訪問靜態(tài)成員,this/super都不允許在類方法使用
2.非靜態(tài)方法,可以訪問靜態(tài)成員和非靜態(tài)成員
3.都遵守訪問權限
到此這篇關于Java超詳細講解類變量和類方法的文章就介紹到這了,更多相關Java變量與方法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringCloud超詳細講解負載均衡組件Ribbon源碼
在微服務中,對服務進行拆分之后,必然會帶來微服務之間的通信需求,而每個微服務為了保證高可用性,又會去部署集群,那么面對一個集群微服務進行通信的時候,如何進行負載均衡也是必然需要考慮的問題2022-07-07
在spring-boot工程中添加spring mvc攔截器
這篇文章主要介紹了在spring-boot工程中添加spring mvc攔截器,Spring MVC的攔截器(Interceptor)不是Filter,同樣可以實現(xiàn)請求的預處理、后處理。,需要的朋友可以參考下2019-06-06
Spring之關于PropertyDescriptor的擴展剖析
這篇文章主要介紹了Spring之關于PropertyDescriptor的擴展剖析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
springboot使用redis緩存亂碼(key或者value亂碼)的解決
在通過springboot緩存數(shù)據的時候,發(fā)現(xiàn)key是一堆很不友好的東西,本文主要介紹了springboot使用redis緩存亂碼(key或者value亂碼)的解決,感興趣的可以了解一下2023-11-11
Nacos?版本不一致報錯Request?nacos?server?failed解決
這篇文章主要為大家介紹了Nacos?版本不一致報錯Request?nacos?server?failed的解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
Javamelody監(jiān)控不到sql的問題(親測有效)??
JavaMelody是用來在QA和實際運行生產環(huán)境中監(jiān)控Java或Java?EE應用程序服務器的一個開源框架,這篇文章主要介紹了Javamelody監(jiān)控不到sql(親測有效)??,需要的朋友可以參考下2022-10-10

