Java 父子概念中相同的方法名称和相同的变量名称 class超级{ 公共整数i=1; 无效样本(){ System.out.println(“超类方法”); } } 公共类子类扩展超级{ 公共整数i=1000; 无效样本(){ System.out.println(“子类方法”); } 公共静态void main(字符串参数[]){ 超级obj; obj=新超级(); obj.Sample(); 系统输出打印项次(obj.i); obj=新的Sub(); obj.Sample(); 系统输出打印项次(obj.i); } }

Java 父子概念中相同的方法名称和相同的变量名称 class超级{ 公共整数i=1; 无效样本(){ System.out.println(“超类方法”); } } 公共类子类扩展超级{ 公共整数i=1000; 无效样本(){ System.out.println(“子类方法”); } 公共静态void main(字符串参数[]){ 超级obj; obj=新超级(); obj.Sample(); 系统输出打印项次(obj.i); obj=新的Sub(); obj.Sample(); 系统输出打印项次(obj.i); } },java,object,inheritance,reference,parent-child,Java,Object,Inheritance,Reference,Parent Child,输出: method of super class 1 method of sub class 1 当调用Sample()方法时,我们会得到不同的输出(超类/子类的方法) 但当i变量被打印时,输出是相同的(1) 引用/对象类型或继承规则是否存在问题 感谢您提前回复Java中的变量不遵循多态性,重写只适用于方法,而不适用于变量。因此,您可以看到方法Sample()的重写行为,但变量i的重写行为不存在 注意,在这种情况下,子类变量隐藏父类变量,这个概念称为 注意:始终遵循,例如,您应该将方法重命名

输出:

method of super class
1
method of sub class
1
当调用Sample()方法时,我们会得到不同的输出(超类/子类的方法)

但当i变量被打印时,输出是相同的(1)

引用/对象类型或继承规则是否存在问题


感谢您提前回复

Java中的变量不遵循多态性,重写只适用于方法,而不适用于变量。因此,您可以看到方法
Sample()
的重写行为,但变量
i
的重写行为不存在

注意,在这种情况下,子类变量隐藏父类变量,这个概念称为


注意:始终遵循,例如,您应该将方法重命名为
Sample()
Sample()

Java中的变量不遵循多态性,重写仅适用于方法,而不适用于变量。因此,您可以看到方法
Sample()
的重写行为,但变量
i
的重写行为不存在

注意,在这种情况下,子类变量隐藏父类变量,这个概念称为

注意:始终遵循以下步骤:例如,您应该将方法,
Sample()
重命名为
Sample()