多态中成员的特点

本文通过一个具体的Java示例介绍了多态的概念,并详细解释了如何在父类引用指向子类对象的情况下访问成员变量与成员方法的区别。同时,探讨了静态方法与普通方法在编译和运行期间的不同行为。

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

1.成员变量
编译和运行都参考函数的左边
2.成员函数(非静态)
编译看左边,运行看右边
3.静态函数
编译和运行都看左边(静态方法不需要对象,直接类名调用即可)

public class Fu {

    int a = 10;

    public void show (){
        System.out.println("show -----fu");
    }
    public static void fn(){
        System.out.println("fn-----fu");
    }

}
public class Zi extends Fu{

    int a = 20;
    int b = 30;

    public void show(){
        System.out.println("show----zi");
    }
    public static void fn(){
        System.out.println("fn-----zi");
    }
    public void fn2(){
        System.out.println("fn2-----zi");
    }
}
public class DuoTaiText {

    public static void main(String[] args) {

        Fu f = new Zi();
        System.out.println(f.a); //成员变量看左边
//      System.out.println(f.b); 报错
//      f.fn2(); 报错

        f.show();  // 成员函数,运行时根据等号右边子类的来
        //f.fn();
        Fu.fn();  //静态方法可以直接调用

    }

}
/*
10
show----zi
fn-----fu
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值