1. 程式人生 > >動態繫結機制(只要是成員方法都會遵循動態繫結機制)

動態繫結機制(只要是成員方法都會遵循動態繫結機制)

package testshangguigu;

public class dongtaibangdingjizhi {

	public static void main(String[] args)throws Exception {
		// TODO Auto-generated method stub

		B b = new C();
		//動態繫結機制(只要是成員方法那麼就一定會有動態繫結機制)(和屬性無關)
//		當程式執行時。呼叫了物件的成員方法,那麼jvm會將方法當前物件的實際記憶體進行繫結,然後呼叫
//		B b = new C();方法會先去子類中呼叫方法,如果子類中的方法沒找到,則在父類中使用,只會呼叫當前類中的屬性值(I)
		System.out.println(b.getsum());
	}

}
class B
{
	public int i=10;
	public int getsum(){
		return geti()+10;
	}
	public int geti()
	{
		return i ;
	}
}
class C extends B
{
	public int i=20;
	/*public int getsum(){
		return i+20;
	}*/
	public int geti()
	{
		return /*this.*//*super.*/i ;
	}
}