子类继承父类时,子类与父类有同名变量,当使用子类对象调用父类方法使用同名变量,这个变量是子类的,还是父类的? (改)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子类继承父类时,子类与父类有同名变量,当使用子类对象调用父类方法使用同名变量,这个变量是子类的,还是父类的? (改)相关的知识,希望对你有一定的参考价值。
1 public class Test4 { 2 public static void main(String[] args){ 3 Son son = new Son(); 4 son.minusOne(); 5 System.out.println(son.testValue); 6 System.out.println(son.getSuperTestValue()); 7 son.plusOne(); 8 System.out.println(son.testValue); 9 System.out.println(son.getSuperTestValue()); 10 } 11 } 12 class Father{ 13 int testValue = 100; 14 public void minusOne(){ 15 this.testValue--; 16 } 17 } 18 class Son extends Father{ 19 int testValue = 0; 20 public void plusOne(){ 21 testValue++; 22 } 23 public int getSuperTestValue(){ 24 return super.testValue; 25 } 26 }
结果为 0 99 1 99
所以,当使用子类对象调用方法使用同名变量,是按照方法来判断使用哪一个变量,调用父类的方法,使用的是父类中的变量 , 调用子类的方法,使用的是子类中的变量
以上是关于子类继承父类时,子类与父类有同名变量,当使用子类对象调用父类方法使用同名变量,这个变量是子类的,还是父类的? (改)的主要内容,如果未能解决你的问题,请参考以下文章