在Java中(与大多数OO语言一样),您可以有两个类,一个扩展另一个类。您可以在两个类中都具有相同名称的实例字段,其中子类'instance field隐藏超类'实例字段。一个例子如下所示。
class A{
int i;
}
class B extends A{
int i;
}
这意味着当创建对象时,它既有B实例字段i又有A实例字段i。有人可能会认为你永远不会想要这个,并且当你在概念上在B类中创建一个新的“i”时,它意味着“与这个对象相关的唯一的i”。什么时候不是这样的?举一个我们想要保留两个实例变量并修改它们的类的例子。