国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關于動態綁定的理解

2019-11-18 13:51:44
字體:
來源:轉載
供稿:網友

  看了翁愷的java的教程忽然有了點想法,也不知道是否正確!

動態綁定
在子類和父類里面有同名函數的時候,假如生成一個子類的對象,并在子類的對象里面
調用這個函數,那么到底會是調用的是誰的函數呢?例如
class Base{
int i=47;
int f(){
return g();
}
int g(){
return i;
}

class Dervied extends Base{
int i=27;
int g(){ file://override父類里面的方法

return i;

}

}
public class test {
public static void main (String[] args)
{
Derived d = new Derived(); //生成Derived的對象
System.out.PRintln(d.f());
// d.f() === Derived.f(d);
}
}
d.f()等價于==對象d調用父類的f()函數,f()函數就會調用return g()這句話,這個時候是在調用誰的g()呢?
這個時候需要動態綁定 Binding,所謂的動態綁定,通俗的就是指,對象在調用方法的時候能夠自己判定改調用誰的方法
是自己的方法還是父類的方法,
到底怎樣判定呢?我覺得不是很好的理解所以干脆也來個通俗的解釋:
即 就是調用當前對象的所在類的里面的方法:
假如從當前子類Dervied生成了對象d, 那么以后只要是是調用g()的時候,都會是調用子類Derived里面的g()函數
而不會去調用 父類Base里面的g()函數

我覺得這里就是Java具備多態性的要害

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仙桃市| 吕梁市| 来宾市| 腾冲县| 永登县| 开平市| 泰州市| 刚察县| 邵阳县| 专栏| 鹿邑县| 宁波市| 长治县| 永定县| 即墨市| 宁乡县| 汝阳县| 罗田县| 北票市| 卢氏县| 曲沃县| 金沙县| 金坛市| 岢岚县| 余庆县| 甘泉县| 甘洛县| 宁海县| 大埔县| 塔河县| 绩溪县| 陆丰市| 资兴市| 饶平县| 昌宁县| 昌邑市| 河池市| 澳门| 潜山县| 南乐县| 牟定县|