java多态的实现机制是什么
java中实现多态的机制是依靠父类或接口的引用指向子类,从而实现一个对象多种形态的特性,其父类的引用是在运行时动态的指向具体的实例,调用该引用的方法时,不是根据引用变量的类型中定义的方法来运行,而是根据具体的实例的方法。
简单的示例
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("请输入一个1-3的数字:\n1 is teacher\n2 is scientis\n3 is waiter"); int i = sc.nextint(); //分别指向了不同的子类,输出的结果是不一样的 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请输入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("服务员一年的工资:"); 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教程》
以上就是java 实现多态的机制是什么?的详细内容。
