Java中的实例变量


  • 实例变量在类中声明,但在方法、构造函数或任何代码块之外。
  • 当在堆中为对象分配空间时,会为每个实例变量值创建一个槽。

  • 使用关键字“new”创建对象时创建实例变量,销毁对象时销毁实例变量。

  • 实例变量保存必须被多个方法、构造函数或代码块引用的值,或者对象状态的必要部分,这些部分必须贯穿整个类。

  • 实例变量可以在类级别在使用之前或之后声明。

  • 可以为实例变量指定访问修饰符。

  • 实例变量对类中的所有方法、构造函数和代码块都是可见的。通常建议将这些变量设为私有(访问级别)。但是,可以使用访问修饰符为子类提供这些变量的可见性。

  • 实例变量具有默认值。对于数字,默认值为 0;对于布尔值,默认值为 false;对于对象引用,默认值为 null。可以在声明期间或在构造函数中赋值。

  • 可以通过在类内调用变量名直接访问实例变量。但是,在静态方法中(当实例变量被赋予可访问性时),应使用完全限定名调用它们:ObjectReference.VariableName。

示例

在线演示

import java.io.*;
public class Employee {

   // this instance variable is visible for any child class.
   public String name;

   // salary variable is visible in Employee class only.
   private double salary;

   // The name variable is assigned in the constructor.
   public Employee (String empName) {
      name = empName;
   }

   // The salary variable is assigned a value.
   public void setSalary(double empSal) {
      salary = empSal;
   }

   // This method prints the employee details.
   public void printEmp() {
      System.out.println("name  : " + name );
      System.out.println("salary :" + salary);
   }

   public static void main(String args[]) {
      Employee empOne = new Employee("Ransika");
      empOne.setSalary(1000);
      empOne.printEmp();
   }
}

输出

这将产生以下结果:

name  : Ransika
salary :1000.0

更新于:2020年2月24日

21K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告