STATIC
static 关键字 静态的 ->成员修饰符
成员变量-> 静态变量|类变量
方法-> 静态方法|类方法
块
类
static 静态变量 可直接被调用 成员变量需要根据对象调用
被static关键字修饰的变量与方法的调用使用方式:
1.类名.静态变量名
类名.静态方法名()
2.对象的引用.静态变量名
对象的引用.静态方法名()
被static关键字修饰 的内容为静态的内容
成员是属于对象的,只能跟随对象使用,因为成员在对象的堆内存空间中
static修饰的静态的内容是属于类的,可以跟随类使用
静态变量都是独一份的,不在对象的堆内存中,在静态区中,在类第一次加载完成之后就会初始化静态内容
成员的需要创建对象才在对象堆内存中存在成员,没有对象就没有成员
静态内容是当前这个类型所有对象共享的,共享在静态区中独一份静态内容
在静态的内容中可以直接使用静态内容,但是不能直接使用成员内容,需要跟随对象使用成员
在成员内容中可以直接使用静态,也可以直接使用成员
public class StaticDemo01 {
//成员位置 : 类中方法外部
//成员变量
int a = 1;
//静态变量
static String str = "二哈";
public static void main(String[] args) {
//局部
//static int i = 1; static不能修饰局部,只能修饰成员
//测试静态内容的使用方式
System.out.println(str);//当前类中类名可以省略
System.out.println(StaticDemo01.str);
StaticDemo01 sd = new StaticDemo01(); //当前类型对象
System.out.println(sd.a);
System.out.println(sd.str);
System.out.println(Math.random());
System.out.println(Math.PI);
}
/*
成员方法 : 需要被对象调用,在成员方法中的成员变量,默认指代当前调用成员方法的对象的成员
*/
public void test(){
System.out.println(this.str);
System.out.println(this.a);
}
}