Java中变量有哪些
package am1;
/**
-
全局变量 局部变量
-
局部变量 作用域从定义位置开始,到代码块结束失效
-
全局变量 定义在类中,方法体外的变量叫做全局变量,全局变量所有方法均可以访问
*/
public class Demo {//全局变量
int b = 10;public void test(){
//局部变量
int a = 20; //定义在方法体中,出了方法体,就失效了if(a >= 10){ int b = a+1; int c = b+1; System.out.println("b的值是?"+b); } System.out.println(a);//局部变量,定义在方法体中,在方法体中有效 System.out.println(b); //打印的是全局变量,if下的b在这里已经失效 //System.out.println(c); //这是 错误的,超出了作用域的范围
}
public void test1(){
//System.out.println(a); //这是 错误的,超出了作用域的范围
}public void test2(){
System.out.println(b); //打印的是全局变量,if下的b在这里已经失效
}public static void main(String[] args) {
Demo demo = new Demo(); //main函数下,调用方法需要先实例化属性
demo.test();
}
}
package am2;
/**
- 类变量(静态变量) 成员变量
- 成员变量 在类中定义的变量,实例化对象时访问的变量,叫做成员变量
- 类变量 定义在类中,使用static 修饰其变量,访问时只需类名.变量名即可访问
-
使用对象,也能访问其变量,当对象值改变类变量值,其值也会发生改变
-
类变量也叫做 静态变量
*/
public class A {
//成员变量
public String name = "jack";
public int age = 18;
//类变量(静态变量)
public static int health = 100;
}
package am3;
/**
- static 关键字
- static 关键字修饰的变量是静态变量。使用类名.变量名直接访问。
-
当虚拟机启动时即加载其变量到内存中。不需要创建对象。
- static 关键字修饰的方法是静态方法。使用类名.方法名直接访问。静态方法中,不能访问成员变量。
*/
public class Demo {
//静态变量
public static int a = 10;
//成员变量
public int b = 20;
//静态方法
public static void show(){
System.out.println("静态方法");
//System.out.println(b); //无法在静态方法中,访问成员变量
System.out.println(a); //可以在静态方法中,访问静态变量
}
//成员方法
public void show2(){
System.out.println(b); //成员方法可以访问成员变量
System.out.println(a); //成员方法可以访问静态变量
System.out.println("静态变量在成员方法中加20等于:"+(a+=20));
}
}
package am3;
/**
- static 关键字
*/
public class Test {
public static void main(String[] args) {
System.out.println(Demo.a); //使用类名.变量名直接访问
Demo.show();
//实例化 Demo
Demo demo = new Demo();
demo.show2();
System.out.println("静态变量a现在是多少?"+Demo.a);
}
}