这里没有涉及到多态呀,A类中有两个方法,B类继承了A类,B类就有了A类的这两个方法,但是B类重写了fun2()方法,这个时候B类仍然有一个fun1()方法,和A类的一样,因为是继承过来的。主函数当中的b.fun1();b对象调用的是子类的方法,不是父类的,代码中的第31行,是把b的引用给了一个A类类型的变量a,a和b的在栈内存中的物理地址不同,但是引用是相同的,就是指向的对象是相同的,都是指向27行new的那个new B();所以33行的a.fun1()其实和29行的b.fun1()输出的结果一样,都是456 |
|