为什么我们调用存储对象实例变量属性的变量?

时间:2019-01-11 03:57:19

标签: java class oop object instance-variables

我开始更多地了解Java的概念方面以及类,它们的对象和实例变量的概念。尽管我知道类代表一个概念,但是对象是这些概念的体现,而实例变量应该是这些概念的属性和行为-为什么将它们专门称为实例变量?对象不是类的“实例”吗? 这是一个示例:考虑类Person

class Person {

   private int age;
   private String name;

   public Person(String userName, int userAge) {

     age = userAge;
     name = userName;
  }

}

public class Tester {

   public static void main(String[] args) {

      Person maya = new Person("Maya", 14);
      Person jack = new Person("Jack", 16);
   }
}

在此类中,我们有两个对象,maya和jack。这两个对象是该类的实例,因为尽管它们属于同一个概念(一个人),但是它们在名称和年龄方面具有不同的属性,这些属性通过实例变量反映出来。每个人都有一个名字和年龄(其行为),但有不同的变体。

2 个答案:

答案 0 :(得分:2)

引自Oracle Java教程,https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

  

非静态字段也称为实例变量,因为它们的值对于类的每个实例(换句话说,对于每个对象)都是唯一的;一辆自行车的currentSpeed与另一辆自行车的currentSpeed无关。

答案 1 :(得分:0)

实例变量是属于该实例的变量:每个实例都有自己的变量版本,完全独立于其他实例。您无法通过实例访问实例变量 except

将此与静态或类变量进行对比。这样的变量属于该类,因此由该类的所有实例共享。可以通过类实例访问类变量。