立即学习:https://edu.csdn.net/course/play/24609/274831?utm_source=blogtoedu
1. 在非静态的成员方法中既能非静态的成员也鞥呢访问静态的成员;
(成员:成员变量+成员方法,静态成员被所有对象共享)
2.在静态的成员方法中只能访问静态的成员不能访问非静态的成员;(成员:成员变量+成员方法)因为调用静态方法时可能还没有创建对象。
只要隶属于类(所有对象共享)的属性才能加static,static不能随便加。
/*
Static关键字的使用
*/
public class StaticTest{
private int cnt =1;//隶属于对象层级,每个对象都拥有一份
private static int snt =2;//隶属于类层级,所有对象共享同一份
public void show(){
System.out.println("cnt="+cnt);
System.out.println("snt="+snt);
}
//使用static修饰的方法隶属于类层级,推荐使用类名.方法
public static void test(){
//System.out.println("cnt="+cnt); //error StaticTest.java:18: 错误: 无法从静态上下文中引用非静态 变
量 cnt
// System.out.println("cnt="+cnt); //error
System.out.println("snt="+snt);
}
public static void main (String[] args){
StaticTest st = new StaticTest();
st.show();
StaticTest.test();
}
}