多态中成员函数的特点

 A. 在多态中成员函数的特点:
 在编译时期:参阅引用性变量所属的类中是否有调用的方法。如果由编译通过;
  在运行时期:参阅对象所属的类中是否有调用的方法。

  简单的总结就是:成员函数在多态调用时,编译看左边,运行看右边。

B. 在多态中,成员变量的特点:

无论编译和运行,都参考左边(引用型变量所属的类)

C. 在多态中,静态(static)函数的特点:

无论编译和运行,都参考左边。


例如下面的代码:

class Fu{
    int num=5;
	void method1(){
		System.out.println(" Fu Method_1");
	}
	void method2(){
		System.out.println(" Fu Method_2");
	}
	static void method4(){
		System.out.println(" Fu Method_4");
	}
}
class Zi extends Fu{
    int num=8;
	void method1(){
		System.out.println("Zi Method_1");
	}
	void method3(){
		System.out.println("Zi Method_3");
	}
	static void method4(){
		System.out.println(" Zi Method_4");
	}
}
public class DuoTaiDemo_1 {
	public static void main(String[] args){
		Fu f=new Zi();
		f.method1();
		f.method2();
		//f.method3();
		System.out.println(f.num);
		Zi z=new Zi();
		System.out.println(z.num);
		
		f.method4();
		z.method4();
		
	}

}

如果由f.method3();  那么编译不会通过,因为在Fu类中没有这个方法。

num作为成员变量,无论编译和运行,都参考左边,也就是引用型变量所属的类,第一个是父类(Fu)中的num,第二个是子类(Zi)中的num。

Method4作为静态(static)函数,无论编译和运行,都参考左边。

最后程序的运行结果是:

Zi Method_1
 Fu Method_2
5
8
Fu Method_4
Zi Method_4





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值