新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
java多態(tài)的實(shí)現(xiàn)機(jī)制是什么
Java中實(shí)現(xiàn)多態(tài)的機(jī)制是依靠父類或接口的引用指向子類,從而實(shí)現(xiàn)一個(gè)對(duì)象多種形態(tài)的特性,其父類的引用是在運(yùn)行時(shí)動(dòng)態(tài)的指向具體的實(shí)例,調(diào)用該引用的方法時(shí),不是根據(jù)引用變量的類型中定義的方法來運(yùn)行,而是根據(jù)具體的實(shí)例的方法。
創(chuàng)新互聯(lián)成立于2013年,先為迎江等服務(wù)建站,迎江等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為迎江企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
簡(jiǎn)單的示例
Person.java
import java.util.Scanner; public class Person { public int salary; public int allSalary(){ return 0; } public static void main(String[] args) { Person p = null; for (int n = 0; n < 3; n++) { @SuppressWarnings("resource") Scanner sc = new Scanner(System.in); System.out.println("請(qǐng)輸入一個(gè)1-3的數(shù)字:\n1 is Teacher\n2 is Scientis\n3 is Waiter"); int i = sc.nextInt(); //分別指向了不同的子類,輸出的結(jié)果是不一樣的 if (i == 1) { p = new Teacher(5000); System.out.println(p.allSalary()); } else if (i == 2) { p = new Scientist(5000); System.out.println(p.allSalary()); } else if (i == 3) { p = new Waiter(5000); System.out.println(p.allSalary()); } else { System.out.println("?\n請(qǐng)輸入1-3"); } } } }
Scientist .java
public class Scientist extends Person{ public Scientist(int salary){ this.salary = salary; } public int allSalary(){ int aa = salary*12+36500; System.out.print("五五開一年的工資:"); return aa; } }
Waiter.java
public class Waiter extends Person{ public Waiter(int salary){ this.salary = salary; } public int allSalary(){ int aa = salary*12; System.out.print("服務(wù)員一年的工資:"); return aa; } }
Teacher .java
public class Teacher extends Person{ public Teacher(int salary){ this.salary = salary; } public int allSalary(){ int aa = salary*12+3650; System.out.print("教師一年的工資:"); return aa; } }
以上就是Java 實(shí)現(xiàn)多態(tài)的機(jī)制是什么?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
本文標(biāo)題:java多態(tài)的實(shí)現(xiàn)機(jī)制是什么
本文鏈接:http://fisionsoft.com.cn/article/ppdigc.html