1. 程式人生 > >JAVA學習筆記 static(靜態變數 靜態方法)

JAVA學習筆記 static(靜態變數 靜態方法)

一。程式碼


(1)
public class statictest {
public static void main(String args[]){
statictest tm=new statictest();
tm.printSxt();
int c=tm.add(30,40,50)+1000;
System.out.println(c);

}


void printSxt(){
System.out.println("1111");
System.out.println("2222");
System.out.println("3333");
}


int add(int a,int b,int c){
int sum=a+b+c;

System.out.println(sum);
return sum;

}


}


(2)

//測試static關鍵字
//類資訊 首先載入進方法區(程式碼  靜態變數(company)  靜態方法(printCompany) 常量("河南理工"等))
//普通物件方法 從屬於物件
//靜態變數和方法可以呼叫靜態方法。靜態方法裡面不能使用非靜態方法(所以this不能在static中使用)
//普通變數和方法可以呼叫靜態方法


public class user2 {
int id;
String name; //使用者名稱
String pass; //密碼
static String company="河南理工";    
public user2(int id,String name){

this.id=id;
this.name=name;
}


public void login(){
System.out.println("登陸");
}
public static void printCompany(){
                                                          //呼叫非靜態成員就會報錯
System.out.println(company);
}
public static void main(String[] args){
user2 u=new user2(1,"吳");

user2.printCompany();                         //通過類名去呼叫

user2.company="阿里巴巴";
user2.printCompany();                         //通過類名去呼叫
}


}


(3)靜態初始化(類初始化)
public class user3 {
int id;
String name;
String pass;
static String company;


static{
System.out.println("執行類初始化");
company="111";
printCompany();
}


public static void printCompany(){
System.out.println("執行完成");
}



public static void main(String args[]){
user3 u=null;
}




}

二。筆記

1.static宣告的成員變數為靜態成員變數,也稱為類變數。類變數的生命週期和類相同,在整個應用程式執行期間都有效。

2.static 修飾的從成員變數和方法從屬於類,普通變數和方法從屬於物件。