java動態(tài)方法調度實例
動態(tài)方法調度:
1. 訪問一個引用型的變量的非靜態(tài)方法,運行時與實際引用的對象的方法綁定。
2. 訪問一個引用型的變量的靜態(tài)方法,運行時與聲明的類的方法綁定。
3. 訪問一個引用型的變量的成員變量(包括靜態(tài)變量和實例變量),運行時與聲明的類的成員變量綁定。
第3點尤其注意啊,之前我從來沒注意過啊
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>
運行結果為:父類
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>
運行結果為:父類
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>
運行結果:fanther
將成員變量變?yōu)閟tatic類型的也是一樣的
另外對于如下兩個變量
Students = new Student();Person t = new Student();
不過這兩者實際上是有區(qū)別的,當子類Student中有了自己的個性方法(在父類中沒有的)時,比如有了方法
public goSchool(){}
那么只有s可以調用這個goSchool方法
而t不能調用
希望本文所述對大家java程序設計有所幫助。
【java動態(tài)方法調度實例】相關文章:
關于Java動態(tài)實現的方法09-25
Java實例化的四種方法介紹03-12
Java中的== 和equals()方法詳解與實例教程11-09
JAVA的動態(tài)代理分析09-22
java調用c函數的實例12-20
Java中的Spring入門實例02-27
Java實現多繼承的實例08-26
Java鍵盤輸入實例09-02