局部变量、成员变量和全局变量,如果用图来表示,它们之间的关系是这样的:
全局变量:从程序的任何地方能访问到,跨类,跨方法都能用。像天上的太阳。
它们在程序启动时被创建,并在程序的整个执行过程中保持存在。
写法 加上 public static(不加static 它是实力变量,属于对象的一部分,需要创建对象后才能用。加上static,才能变为静态变量,它属于类,所有对象共享。静态变量可以直接通过类名访问和修改,无需创建对象):
public class MyClass {
public static int globalVariable = 10; // 全局变量的声明
public static void main(String[] args) {
System.out.println(globalVariable); // 输出初始值:10
// 修改全局变量的值
globalVariable = 20;
System.out.println(globalVariable); // 输出修改后的值:20
someMethod();
}
成员变量:在该类中,大家都能用。比如在类名下方定义的。像人类共用的大拇指手势。
每个对象都有自己的成员变量副本。成员变量在对象销毁时消失。写法:
public class Person {
private String name; // 成员变量
public Person(String name) {
this.name = name;
}
public void introduce() {
System.out.println("My name is " + name);
}
}
局部变量:在方法中定义并使用的变量,这个也是我们最常用的变量,它使用的范围最小,也就是作用域最小。像你碗里的饭。
局部变量在方法执行期间存在,并在方法执行结束后被销毁。