Java基础(多态中成员方法的使用特点)

本文详细解析了在多态的代码中,成员方法的访问规则。关键在于编译期和运行期的区别对待:编译时看声明类型,运行时看实际类型。并通过具体示例代码说明了这一规则的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在多态的代码中,成员方法的访问规则是:
看new的是谁,就优先用谁,没有则向上找。

简单规则:编译看左边,运行看右边。

对比:
成员变量:编译看左边,运行还是看左边。
成员方法:编译看左边, 运行看右边。

例如:

package 多态;

public class democ01 {

    public static void main(String[] args) {

        Fu obj = new Zi();  // 多态

        obj.method(); // 父子都有,优先使用子。
        obj.methodFu(); // 子类没有,父类有,则向上找父类

        // 编译看左边,左边是Fu,Fu当中没有methodZi方法(),所以编译报错
//        obj.methodZi(); // 错误写法!
    }
}
package 多态;

public class Fu {
    
    public void method(){
        System.out.println("父类方法");
    }
    public void methodFu(){
        System.out.println("父类特有方法");
    }
}
package 多态;

public class Zi extends Fu {


    @Override
    public void method() {
        System.out.println("子类方法");
    }
    public void methodZi(){
        System.out.println("子类特有方法");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值