1.static靜態變量
1.靜態變量被同一個類的所有對象共享
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,是一個類變量(靜態變量)
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.類變量(靜態變量的訪問)
靜態變量的訪問權限和范圍和普通屬性是一樣的
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,則主函數中無法訪問,需借助類函數訪問
3.類方法
1.類方法也叫靜態方法
2.訪問修飾符+static+數據返回類型(){}
3.static+訪問修飾符+數據返回類型(){}
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;//普通成員
//定義一個靜態變量來累計學生的學費
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修飾后,該方法就是靜態方法
//靜態方法就可以訪問靜態變量
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.靜態方法只能訪問靜態成員,this/super都不允許在類方法使用
2.非靜態方法,可以訪問靜態成員和非靜態成員
3.都遵守訪問權限
到此這篇關于Java超詳細講解類變量和類方法的文章就介紹到這了,更多相關Java變量與方法內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!