【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