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

首頁 > 編程 > Java > 正文

java動態方法調度實例分析

2019-11-26 14:09:04
字體:
來源:轉載
供稿:網友

本文實例講述了java動態方法調度。分享給大家供大家參考,具體如下:

動態方法調度:

1. 訪問一個引用型的變量的非靜態方法,運行時與實際引用的對象的方法綁定。
2. 訪問一個引用型的變量的靜態方法,運行時與聲明的類的方法綁定。
3. 訪問一個引用型的變量的成員變量(包括靜態變量和實例變量),運行時與聲明的類的成員變量綁定。

第3點尤其注意啊,之前我從來沒注意過啊

1. 非靜態方法:

public class Person {public String name; public void getInfo() {  System.out.println("父類"); }}public class Student extends Person { public void getInfo() { // 方法重寫 super.getInfo(); // 調用父類的方法 System.out.println("子類");}public static void main(String[] args) { Person s = new Student(); Person t = new Person(); s = t; // S的對象類型是父類,即Person類 s.getInfo();}}

運行結果為:父類

2. 靜態方法:

public class Person {public String name; public static void getInfo() { System.out.println("父類"); }}public class Student extends Person {Publics static void getInfo() { // 方法重寫System.out.println("子類");}public static void main(String[] args) {Person s = new Student();s.getInfo();  //等價于Person.getInfo();}}

運行結果為:父類

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() { // 方法重寫super.getInfo(); // 調用父類的方法System.out.println("子類");}public static void main(String[] args) {Person s = new Student();Person t = new Person();s = t;System.out.println(s.name);}}

運行結果:fanther

將成員變量變為static類型的也是一樣的

另外對于如下兩個變量

Students = new Student();Person t = new Student();

不過這兩者實際上是有區別的,當子類Student中有了自己的個性方法(在父類中沒有的)時,比如有了方法

public goSchool(){}

那么只有s可以調用這個goSchool方法

而t不能調用

希望本文所述對大家java程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临夏市| 公主岭市| 贵南县| 自治县| 子洲县| 象山县| 博客| 东兴市| 山阴县| 忻州市| 改则县| 郓城县| 阜宁县| 江安县| 柞水县| 宁都县| 茂名市| 甘泉县| 高邮市| 宁夏| 福建省| 西华县| 抚顺县| 大冶市| 宣武区| 安达市| 廊坊市| 溧阳市| 项城市| 阜康市| 临湘市| 博罗县| 中山市| 辛集市| 辉县市| 景谷| 葫芦岛市| 邵阳市| 报价| 杭州市| 宿州市|