[老人的讨论帖]你知道为什么嘛?
好久没来CSDN了,忙,迷茫的芒~~ 不说废话,直接上代码:
//问题1:输出是什么?为什么?class A { public int i = 10;}class B extends A{ public int i = 20;}public class TestPolm{ public static void main(String args[]){ B b = new B(); A a = b; System.out.println(b.i); System.out.println(a.i); }}//问题2:输出是什么?为什么?class A { private int i = 10; public void printI(){ System.out.println(i); }}class B extends A{ private int i = 20;}public class TestPolm{ public static void main(String args[]){ B b = new B(); A a = b; b.printI(); a.printI(); }}//问题3:输出是什么?为什么?class A { private int i = 10; public void printI(){ System.out.println(i); }}class B extends A{ private int i = 20; public void printI(){ System.out.println(i); }}public class TestPolm{ public static void main(String args[]){ B b = new B(); A a = b; b.printI(); a.printI(); }}
class A { public int i = 10; public void say(){ System.out.println(" 这是一个A类方法"); }}class B extends A{ public int i = 20; public void say(){ System.out.println("这是一个B类方法"); }}public class ooDemo05{ public static void main(String args[]){ B b = new B(); A a = b; b.say(); a.say(); System.out.println(a instanceof B); System.out.println(a instanceof A); System.out.println(b.i); System.out.println(a.i); }}