java多态修改成员变量遇到的问题
Posted sumeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java多态修改成员变量遇到的问题相关的知识,希望对你有一定的参考价值。
先看两个程序,出自课程考试,只记得老师讲了多态中成员方法的使用,真的是不理解成员变量还有门道。
先看main方法
public class Main { public static void main(String[] args) { SuperClass superObj=new SuperClass(); SubClass subObj=new SubClass(); SuperClass superReferToSub=subObj; superReferToSub.method(); superReferToSub.print(); } }
程序一
public class SuperClass { int i=0; public void method(){ System.out.println("父类方法"); } public void print(){ System.out.println(i); } } class SubClass extends SuperClass { //int i=2; public void method(){ i++; System.out.println("子类的i变成了"+i); System.out.println("子类方法"); } }
子类的i变成了1
子类方法
1
程序二
public class SuperClass { int i=0; public void method(){ System.out.println("父类方法"); } public void print(){ System.out.println(i); } } class SubClass extends SuperClass { int i=2; public void method(){ i++; System.out.println("子类的i变成了"+i); System.out.println("子类方法"); } }
子类的i变成了3
子类方法
0
以上是关于java多态修改成员变量遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章