JAVA多态机制中,成员调用的特点

/*
多态中,成员调用的特点。

1,成员变量。
	当子父类中出现同名的成员变量时。
		多态调用该变量时:
			编译时期:参考的是引用型变量所属的类中是否有被调用的成员变量。没有,编译失败。
			运行时期:也是调用引用型变量所属的类中的成员变量。
		简单记:编译和运行都参考等号的左边。
				编译运行看左边。

2,成员函数。
	编译,参考左边,如果没有,编译失败。
	运行,参考右边的对象所属的类。
		编译看左边,运行看右边。
	
	对于成员函数是动态绑定到对象上。

3,静态函数。
	编译和运行都参考左边。

	静态函数是静态的绑定到类上。


【结论】
对于成员变量和静态函数,编译和运行都看左边。
对于成员函数,编译看左边,运行看右边。


*/
class Fu
{
	int num = 3;
	
	void show()
	{
		System.out.println("fu show run");
	}
	static void method()
	{
		System.out.println("fu static method run");
	}
}
class Zi extends Fu
{
	int num = 5;

	void show()
	{
		System.out.println("zi show run..");
	}
	static void method()
	{
		System.out.println("zi static method run");
	}
}



class DuoTaiDemo3 
{
	public static void main(String[] args) 
	{
		/*
		//测试成员变量的多态调用。
		Fu f = new Zi();
		System.out.println(f.num);//3
		Zi z = new Zi();
		System.out.println(z.num);//5
		*/
		/*
		//测试成员函数的多态调用。
		Fu f = new Zi();
		f.show();
		*/
		//测试静态函数的多态调用。
		Fu f = new Zi();
		f.method();
		//注意:真正开发静态方法是不会被多态调用的,因为静态方法不所属于对象,而是所属于类。
		Fu.method();
		Zi.method();
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值