首页后端开发其他后端知识多态是java的重要特征,有什么例子可以说明用法

多态是java的重要特征,有什么例子可以说明用法

时间2024-03-27 11:32:03发布访客分类其他后端知识浏览619
导读:今天就跟大家聊聊有关“多态是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
Angular中什么方法实现内容投影,具体怎么做 Angular中的响应式与模板驱动表单有何差异

游客 回复需填写必要信息