Java中隐藏的实例变量是什么?
每当您继承超类时,都会在子类上创建超类成员的副本,并且使用其对象可以访问超类成员。
如果超类和子类具有相同名称的实例变量,则使用子类对象对其进行访问时,无论类型如何,子类的实例变量都将隐藏超类的实例变量。这种机制称为字段隐藏或实例变量隐藏。
但是,由于不建议使用代码隐藏字段,因此不建议这样做。
示例
在下面的示例中,我们有两个类Super和Sub扩展了另一个。它们都有两个名称相同的字段(名称和年龄)。
当我们使用Sub对象打印这些字段的值时。将打印子类的值。
class Super {
String name = "Krishna";
int age = 25;
}
class Sub extends Super {
String name = "Vishnu";
int age = 22;
public void display(){
Sub obj = new Sub();
System.out.println("Name: "+obj.name);
System.out.println("age: "+obj.age);
}
}
public class FieldHiding{
public static void main(String args[]){
new Sub().display();
}
}输出结果
Name: Vishnu age: 22
热门推荐
2 红丝绒戚风蛋糕
3 夹心小甜点
4 南瓜甜点
6 粘米粉蒸蛋糕
7 酸奶华夫饼
9 红柚鸡蛋糕
10 葡萄干蛋糕
11 紫薯蛋糕卷
13 纸杯裱花小蛋糕
14 果酱奶酪蛋糕
15 日式樱花蔓越莓大福
16 草莓蛋糕卷
17 卡仕达长崎杯子蛋糕