java靜態辦法調劑實例剖析。本站提示廣大學習愛好者:(java靜態辦法調劑實例剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是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法式設計有所贊助。