java中字段继承问题--子类不能继承父类的私有成员
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中字段继承问题--子类不能继承父类的私有成员相关的知识,希望对你有一定的参考价值。
public class Test1 { private int t1 = 1; public int getT1() { return t1; } public void setT1(int t1) { this.t1 = t1; } }
以上是Test1类,有个private的t1,值为1,给了get/set方法。
public class Test2 extends Test1 { private int t1 = 2; public static void main(String[] args) { Test1 test1 = new Test1(); Test2 test2 = new Test2(); System.out.println(test1.getT1()); System.out.println(test2.getT1()); } }
以上,Test2继承了Test1,也给了一个t1属性,但值为2。
输出结果为:
1
1
public class Test2 extends Test1 { private int t1 = 2; public int getT1() { return t1; } public void setT1(int t1) { this.t1 = t1; } public static void main(String[] args) { Test1 test1 = new Test1(); Test2 test2 = new Test2(); System.out.println(test1.getT1()); System.out.println(test2.getT1()); } }
Test2继承了Test1,也给了一个t1属性,但值为2,提供了get/set方法。
输出结果:
1
2
结论:子类没有继承父类的private字段,只是通过父类暴露的public的getT1()方法来访问到的父类的private字段,值为1,一旦子类重写了getT1()方法,则得到的值就改变了,值为2。
以上是关于java中字段继承问题--子类不能继承父类的私有成员的主要内容,如果未能解决你的问题,请参考以下文章