首页 > 代码库 > 子类继承父类时,子类与父类有同名变量,当使用子类对象调用父类方法使用同名变量,这个变量是子类的,还是父类的? (改)
子类继承父类时,子类与父类有同名变量,当使用子类对象调用父类方法使用同名变量,这个变量是子类的,还是父类的? (改)
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 = http://www.mamicode.com/100; 14 public void minusOne(){ 15 this.testValue--; 16 } 17 } 18 class Son extends Father{ 19 int testValue = http://www.mamicode.com/0; 20 public void plusOne(){ 21 testValue++; 22 } 23 public int getSuperTestValue(){ 24 return super.testValue; 25 } 26 }
结果为 0 99 1 99
所以,当使用子类对象调用方法使用同名变量,是按照方法来判断使用哪一个变量,调用父类的方法,使用的是父类中的变量 , 调用子类的方法,使用的是子类中的变量
子类继承父类时,子类与父类有同名变量,当使用子类对象调用父类方法使用同名变量,这个变量是子类的,还是父类的? (改)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。