子类重写和覆盖

package com.itheima;
/**
 * 7、 分析运行结果,说明原理。(没有分析结果不得分)
        class A {
            void fun1() {
                      System.out.println(fun2());
                }
                int fun2() {
                        return 123;
                }
        }
       
         
         
         
         public class B extends A {
                int fun2() {
                         return 456;
                 }
              public static void main(String args[]) {
                        B b = new B();
                        b.fun1();
                        A a = b;
                        a.fun1();
                }
        }
 * @author Administrator
 *
 */
public class Test7 {


public static void main(String[] args) {

/***
* B b = new B();
*   创建B对象
b.fun1();
输出456,
B类继承A类,所以B类中的fun2()方法会覆盖A类中的fun2()方法
因此b.fun1();语句调用的是B类中的fun2()方法,故返回456
A a = b;
将B类的对象赋值给父类即多态中的向上转型,a和b指向对内存中的同一对象
a.fun1();//输出456,由于成员方法存在方法重写,所以它运行看右边。
*/

}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值