首先:
1:用static修飾一個變量是靜態變量
2:靜態變量,直接使用類名,靜態變量名賦值
3:靜態變量在內存中只有一份
4:靜態的方法就是不需要將類實例化就可以直接使用類名調用到方法或者屬性。
一:如果兩個方法都是普通方法,那麼可以直接用方法名調用
二:如果兩個方法都是靜態方法, 那麼可以直接用方法名調用
三:如果在靜態方法中調用非靜態方法,那麼需要先創建對象,再通過對象名.方法名()
因此,需先創建對象,其次是對象名.方法名()
四:在非靜態方法中,可以使用靜態方法和靜態變量
package Static;
import lombok.Data;
/**
* Created with IDEA
* author:HCG
**/
@Data
public class StaticExample {
//靜態變量
private static int count; //保持私有,僅能靠setter方法訪問
public static String str;
//靜態塊
static{
//在類被加載的時候用於初始化某些資源
System.out.println("StaticExample static block");
//僅能訪問靜態變量和靜態方法
str="Test";
setCount(2);
}
//可以在一個類中有多個靜態塊
static{
System.out.println("StaticExample static block2");
}
public int getCount() {
return count;
}
//靜態方法
public static void setCount(int count) {
if(count > 0)
StaticExample.count = count;
}
//靜態工具方法
public static int addInts(int i, int...js){
int sum=i;
for(int x : js) sum+=x;
return sum;
}
//靜態類的例子,方便打包之用
public static class MyStaticClass{
public int count;
}
public static void main(String[] args) {
int i = addInts(8);
}
}