Java中的成员变量

成员变量在Java中称为实例变量。

  • 实例变量在类中声明,但在方法,构造函数或任何块之外。

  • 为堆中的对象分配空间时,将为每个实例变量值创建一个插槽。

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

  • 实例变量包含必须由整个类中必须存在的多个方法,构造函数或块或对象状态必不可少的部分引用的值。

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

  • 可以为实例变量提供访问修饰符。

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

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

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

示例

import java.io.*;
public class Employee {

   //该实例变量对于任何子类都是可见的。
   public String name;

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

   //名称变量在构造函数中分配。
   public Employee (String empName) {
      name = empName;
   }

   //工资变量被分配一个值。
   public void setSalary(double empSal) {
      salary = empSal;
   }

   //此方法打印员工详细信息。
   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