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法式設計有所贊助。