首先:
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);
}
}