Java变量类型

在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类型时,类变量名称一般建议使用大写字母。如果静态变量不是publicfinal类型,其命名方式与实例变量以及局部变量的命名方式一致。

实例:

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);
    }
}

每天学习一点点,每天进步一点点。

posted @ 2020-04-09 20:13  爱吃西瓜的番茄酱  阅读(118)  评论(0编辑  收藏  举报