方法重定向如何在超类和基类中发生?

时间:2015-04-28 11:55:59

标签: java superclass base-class

class HouseHold extends Customer {

    public void requestCoupon() {
        Transaction();
        CouponCount = 20;
    }

    public double Transaction () {
        Payment += CouponPayment;
        return Payment;
    }
}


class GCustomer extends HouseHold { 

      public double Transaction () {
        Payment += DisCPayment;
        return Payment;
    }
}

我正在制作GCustomer类的对象(A),我需要使用超类(A.requestCoupon();)来请求优惠券。我所坚持的是方法requestCoupon()调用Transaction()方法,如果A调用请求方法,它会调用超类或基类中的方法吗? / p>

2 个答案:

答案 0 :(得分:0)

一旦方法Transaction()被覆盖,它将从GCustomer类调用。

答案 1 :(得分:0)

基于调用方法的对象的实际类型,动态地(在运行时)强制执行多态性。它依赖于将子类的对象分配给超类的引用的能力。

另外,请注意,当您在类中有实例方法并且在不使用显式引用(reference.method()语法)的情况下调用该实例方法中的另一个方法时,则通过隐式{{引用实际进行调用的对象(在本例中为派生类)。