在Java中,所有变量在使用前必须声明。
Java支持的变量类型有:
-
类变量(静态变量):独立于方法之外,用
static
修饰。 -
成员变量(实例变量):独立于方法之外,没有
static
修饰。 -
局部变量:方法之中的变量。
实例:
public class Variable{
static int allClicks = 0; // 类变量
String str = "hello world"; // 成员变量
public void main(){
int i = 0; //局部变量
}
}
java局部变量
-
局部变量声明在方法、构造方法或者语句块中,作用域限制在该方法内。
-
局部变量在方法、构造方法、或者语句块被执行的时候创建,当它们执行完成后,变量将会被销毁;
-
访问修饰符不能用于局部变量;
-
局部变量是在栈上分配的。
-
局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
实例:
public class Test {
public void pupAge(){
int age = 0; // 定义局部变量必须进行初始化
age = age + 7;
System.out.println("小狗的年龄:" + age);
}
public static void main(String[] args){
Test test = new Test();
test.pupAge();
}
}
输出:
小狗的年龄:7
成员变量(也称为实例变量)
-
实例变量声明在一个类中,但在方法、构造方法和语句块之外;
-
实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
-
访问修饰符可以修饰实例变量;
-
实例变量可以直接通过变量名访问。如
对象名.变量名
-
实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。
实例:
public class Employee {
// 公有实例变量,对子类可见
public String name;
// 私有实例变量,对子类不可见
private double salary;
// 构造函数
public Employee(String empName){
name = empName;
}
// 设置salary值
public void setSalary(double empSal){
salary = empSal;
}
//打印信息
public void printEmp(){
System.out.println("名字:"+ name);
System.out.println("薪水:"+ salary);
}
public static void main(String[] args){
Employee empOne = new Employee("番茄");
empOne.setSalary(20000);
empOne.printEmp();
}
}
输出:
名字:番茄
薪水:20000.0
类变量(静态变量)
-
类变量也称为静态变量,在类中以
static
关键字声明,但必须在方法之外。 -
静态变量储存在静态存储区。经常被声明为常量,很少单独使用
static
声明变量。 -
静态变量可以通过
类名.变量名
的方式访问。 -
类变量被声明为
public static final
类型时,类变量名称一般建议使用大写字母。如果静态变量不是public
和final
类型,其命名方式与实例变量以及局部变量的命名方式一致。
实例:
public class Employee {
// 私有静态变量(类变量),对子类不可见
private static double salary;
// DEPARTMENT是一个静态常量
public static final String DEPARTMENT = "番茄";
public static void main(String[] args) {
salary = 20000;
System.out.println(DEPARTMENT+" 平均工资:"+ salary);
}
}
每天学习一点点,每天进步一点点。