<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            java動態方法調度實例

            時間:2025-04-26 07:19:33 java語言 我要投稿
            • 相關推薦

            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程序設計有所幫助。

            【java動態方法調度實例】相關文章:

            關于Java動態實現的方法08-23

            Java中的== 和equals()方法詳解與實例教程08-03

            Java實例化的四種方法介紹08-23

            JAVA的動態代理分析09-14

            java調用c函數的實例09-16

            Java鍵盤輸入實例07-06

            Java中的Spring入門實例09-15

            Java中synchronized的使用實例05-31

            JAVA語言中的實例變量06-01

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看