【Java教程】Java 变量类型

Java变量一节中我们介绍了变量的声明以及一些基本的操作。本章将解释 Java 语言中可用的各种变量类型。 Java中的三种变量

  • 局部变量
  • 实例变量
  • 类/静态变量

局部变量

  • 局部变量在方法、构造函数或块中声明。
  • 局部变量在进入方法、构造函数或块时创建,一旦退出方法、构造函数或块,变量将被销毁。
  • 访问修饰符不能用于局部变量。
  • 局部变量仅在声明的方法、构造函数或块中可见。
  • 局部变量在内部堆栈级别实现。
  • 局部变量没有默认值,所以在第一次使用之前应该声明局部变量并分配一个初始值。

示例

在下面的示例中,age 是一个局部变量。 这是在 pupAge() 方法中定义的,其范围仅限于此方法。

public class Test {

public void pupAge() {

int age = 0;

age = age + 7;

System.out.println("Puppy age is : " + age);

}

public static void main(String args[]) {

Test test = new Test();

test.pupAge();

}

}

运行示例

上面示例运行结果如下

Puppy age is: 7

下面的例子使用 age 而不对它进行初始化,所以会在编译时出错。

public class Test {

public void pupAge() {

int age;

age = age + 7;

System.out.println("Puppy age is : " + age);

}

public static void main(String args[]) {

Test test = new Test();

test.pupAge();

}

}

运行示例

这将在编译时产生以下错误

Main.java:4: error: variable age might not have been initialized

age = age + 7;

^

1 error

实例变量

  • 实例变量在类中声明,但在方法、构造函数或任何块之外。
  • 当为堆中的对象分配空间时,将为每个实例变量值创建一个槽。
  • 实例变量在使用关键字“new”创建对象时创建,并在对象被销毁时销毁。
  • 实例变量包含必须由多个方法、构造函数或块引用的值,或者必须在整个类中存在的对象状态的基本部分。
  • 实例变量可以在使用之前或之后在类级别声明。
  • 可以为实例变量提供访问修饰符。
  • 实例变量对类中的所有方法、构造函数和块都是可见的。通常,建议将这些变量设为私有(访问级别)。但是,可以使用访问修饰符为这些变量提供子类的可见性。
  • 实例变量有默认值。对于数字,默认值为 0,对于布尔值,默认值为 false,对于对象引用,默认值为 null。可以在声明期间或在构造函数中分配值。
  • 实例变量可以通过在类内部调用变量名来直接访问。然而,在静态方法中(当实例变量被赋予可访问性时),它们应该使用完全限定名称来调用。ObjectReference.VariableName。

import java.io.*;

class Employee{

// 这个实例变量对子类可见

public String name;

// 私有变量,仅在该类可见

private double salary;

//在构造器中对name赋值

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 class Main {

public static void main(String[] args){

Employee empOne = new Employee("JIYIK");

empOne.setSalary(1000.0);

empOne.printEmp();

}

}

运行示例

上面示例编译运行结果如下

名字 : JIYIK

薪水 : 1000.0

类/静态变量

  • 类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
  • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。
  • 静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变。
  • 静态变量储存在静态存储区。经常被声明为常量,很少单独使用 static 声明变量。
  • 静态变量在第一次被访问时创建,在程序结束时销毁。
  • 与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。
  • 默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是 null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
  • 静态变量可以通过:ClassName.VariableName的方式访问。
  • 类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。

public class Employee {

// salary是静态的私有变量

private static double salary;

// DEPARTMENT是一个常量

public static final String DEPARTMENT = "开发人员 ";

public static void main(String args[]) {

salary = 10000;

System.out.println(DEPARTMENT + "平均薪资:" + salary);

}

}

运行示例

上面示例编译运行结果如下

开发人员 平均薪资:10000.0

注意 : 如果从外部类访问变量,可以这样访问:Employee.DEPARTMENT。

本文转载自:迹忆客(https://www.jiyik.com)

以上是 【Java教程】Java 变量类型 的全部内容, 来源链接: utcz.com/z/290410.html

回到顶部