首页 > 编程知识 正文

如何理解java的多态,java中什么是多态,如何实现多态

时间:2023-05-06 12:35:13 阅读:203994 作者:156

你知道java多态吗?那么java多态的概念是怎样的呢?一起来看一下什么是java多态,以及java多态代码例子吧!希望可以对你有所帮助哦。

一、java多态的概念

多态,和名字相同,就是表示,某一时刻程序对应着多个可能的状态。

在面相对象当中,分成了两种多态。

1、编译时多态,主要指的就是方法的重载。

2、运行时多态,它主要通过动态绑定来实现。

二、java多态代码实例

下面是一个非常经典的多态实例(java实例):

1、题目

有一个Animal类,它有Cat,和Dog两个子类。

在Animal当中,有个say方法。

在Cat调用这个方法的时,输出小猫喵喵喵。

在Dog调用这个方法的时候,输出小狗汪汪汪。

2、代码实现

父类:Person.javaimport 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 

{

@SuppressWarnings("resource")

Scanner sc = new Scanner(System.in);

System.out.println("请输入一个1-3的数字:

1 is Teacher

2 is Scientis

3 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("?

请输入1-3");

}

}

}

}

子类:Scientist .javapublic 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.javapublic class Waiter extends Person

{

public Waiter(int salary)

{

this.salary = salary;

}

public int allSalary()

{

int aa = salary * 12;

System.out.print("服务员一年的工资:");

return aa;

}

}

Teacher .javapublic 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入门栏目了解吧。

推荐阅读:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。