多态是java的重要特征,有什么例子可以说明用法
导读:今天就跟大家聊聊有关“多态是java的重要特征,有什么例子可以说明用法”的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 java多态简单例子:首先...
今天就跟大家聊聊有关“多态是java的重要特征,有什么例子可以说明用法”的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
java多态简单例子:首先有一个Animal类,它有Cat,和Dog两个子类;然后在Animal中有个say方法,当Cat调用这个方法的时候输出的是“小猫喵喵喵”,当Dog调用这个方法时,输出的是“小狗汪汪汪”。
【相关学习推荐:java基础教程】
多态:
多态指同一个实体同时具有多种形式。它是面向对象程序设计(OOP)的一个重要特征。如果一个语言只支持类而不支持多态,只能说明它是基于对象的,而不是面向对象的。
多态是出现在具有继承关系的两个类的对象之间,所以它不像方法重载(发生在一个类中)在编译期间发生(也就是确定下来),而是在运行期间发生(确定下来)。
一个父类类型的引用可以指向他任何一个子类的对象
[相同]类域的[不同]对象执行[同一]方法的时候会有[不同]的表现
有一个比较经典的多态实例:
有一个Animal类,它有Cat,和Dog两个子类,在Animal中有个say方法,当Cat调用这个方法的时候输出的是“小猫喵喵喵”,当Dog调用这个方法时,输出的是“小狗汪汪汪”,这就是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的重要特征,有什么例子可以说明用法内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 多态是java的重要特征,有什么例子可以说明用法
本文地址: https://pptw.com/jishu/654191.html
