多态的成员变量调用

1.成员变量

多态的成员变量调用的时候只关心引用型变量所属的类中是否有被调用的成员变量;有,则编译通过;否则,编译失败.

通俗的讲:也就是看定义变量的时候等号左边的变量类型所属的类中是否有这个成员.

如:下面这个例子输出的就是5.

2.以上说的是成员变量,如果是调用成员函数的情况呢?

在编译的时候:要看引用类型变量所属的类中是否有被调用的函数,如果没有,报错.反之通过编译

在运行的时候:要看的是等号右边即看是由谁创造的,是谁创造的就是调用谁的函数,如果创造对象的类中没有这个函数就会调用父类里面的这个函数.

特殊情况: 如果这个 函数是静态那么情况就不同了.


如果是静态的函数,那么在调用的时候只关心是那个引用类型变量所属的类,是那个类就调用那个类里面的这个函数.

如果在是子类类型且刚好子类里面没有这个函数那么就会自动调用父类的.

如果是子类类型的且有这个函数那就调用子类自己的.

编译:在编译的时候如果左边的引用类型类是父类自己,但是父类里面又没有这个函数的时候会报错.!


public class Polymophic
{
public static void main(String [] args)
{

base b=new child();
System.out.println(b.num);
}
}

class base
{
int num=5;


}
class child extends base
{
int num=3;
}


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值