在同一类下
对于量静态成员变
1、同一个类中,可以直接调用静态变量
2、也可用类名调用
3、当然用对象也不是不可以,但不推荐
在静态方法中
1、可以调用静态成员变量
2、不可调用外部实例成员变量
3、无法使用this关键字
在实例方法中
1、可以调用外部实例变量
2、也可调用静态变量
3、this关键字也可使用
在不同类下
对于静态成员变量
1、不可直接调用静态变量
2、可以用类名调用
3、可以用变量名调用,但不推荐
代码演示:
同一类下
/**
* 在同一类下
*/
public class Users {
//定义实例成员变量name1
public String name1;
//定义静态成员变量name2
public static String name2 = "CVqiandundun";
public static void main(String[] args) {
/**
* 在静态成员变量中
*/
//同一个类中,可以直接调用静态变量
System.out.println(name2);
//也可用类名调用
System.out.println(Users.name2);
//当然用对象也不是不可以,但不推荐
Users user = new Users();
System.out.println(user.name2);
}
/**
* 在静态方法中
*/
public String name = "aaa";
public static void Fun(){
//可以调用静态成员变量
System.out.println(name2);
//不可调用外部实例成员变量
System.out.println(name); //报错
//无法使用this关键字
System.out.println(this.name2); //报错
}
/**
* 在实例方法中
*/
public void fun(){
//可以调用外部实例变量
System.out.println(name);
//也可调用静态变量
System.out.println(name2);
//this关键字也可使用
System.out.println(this.name2);
}
}
不同类下
public class staticdemo1 {
public static void main(String[] args) {
//不可直接调用静态变量
System.out.println(name2);//报错
//可以用类名调用
System.out.println(Users.name2);
//可以用变量名调用,但不推荐
Users user = new Users();
System.out.println(user.name2);
}
}