java動(dòng)態(tài)方法調(diào)度實(shí)例
動(dòng)態(tài)方法調(diào)度:
1. 訪問(wèn)一個(gè)引用型的變量的非靜態(tài)方法,運(yùn)行時(shí)與實(shí)際引用的對(duì)象的方法綁定。
2. 訪問(wèn)一個(gè)引用型的變量的靜態(tài)方法,運(yùn)行時(shí)與聲明的類的方法綁定。
3. 訪問(wèn)一個(gè)引用型的變量的成員變量(包括靜態(tài)變量和實(shí)例變量),運(yùn)行時(shí)與聲明的類的成員變量綁定。
第3點(diǎn)尤其注意啊,之前我從來(lái)沒(méi)注意過(guò)啊
1. 非靜態(tài)方法:
public class Person {public String name; public void getInfo() { System.out.println("父類"); }}public class Student extends Person { public void getInfo() { /pic/pic/pic/p>
運(yùn)行結(jié)果為:父類
2. 靜態(tài)方法:
public class Person {public String name; public static void getInfo() { System.out.println("父類"); }}public class Student extends Person {Publics static void getInfo() { /pic/pic/p>
運(yùn)行結(jié)果為:父類
3. 成員變量
public class erson {public String name = "father"; public void getInfo() { System.out.println("父類"); }}public class Student extends Person {public String name = "son";public void getInfo() { /pic/pic/p>
運(yùn)行結(jié)果:fanther
將成員變量變?yōu)閟tatic類型的也是一樣的
另外對(duì)于如下兩個(gè)變量
Students = new Student();Person t = new Student();
不過(guò)這兩者實(shí)際上是有區(qū)別的,當(dāng)子類Student中有了自己的個(gè)性方法(在父類中沒(méi)有的)時(shí),比如有了方法
public goSchool(){}
那么只有s可以調(diào)用這個(gè)goSchool方法
而t不能調(diào)用
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
【java動(dòng)態(tài)方法調(diào)度實(shí)例】相關(guān)文章:
關(guān)于Java動(dòng)態(tài)實(shí)現(xiàn)的方法09-25
Java實(shí)例化的四種方法介紹03-12
Java中的== 和equals()方法詳解與實(shí)例教程11-09
java調(diào)用c函數(shù)的實(shí)例12-20
Java中的Spring入門(mén)實(shí)例02-27
Java實(shí)現(xiàn)多繼承的實(shí)例08-26
Java鍵盤(pán)輸入實(shí)例09-02