Java多态性解析:重写与重载应用实例

创始人
2025-01-10 12:38:57
0 次浏览
0 评论

在Java中有哪些是多态性的表现,举例说明。

定义父类,例如父类有一个排除方法。
编写两个继承这个父类的子类,分别实现这个execute方法。
classA{abstractexcute(){}}classBextendA{excute(){System.out.print('I'mB');}classCextendA{excute()(){System.out.print('ImC');}使用A分别指向两个对象B和C会call()打印不同的句子吗?虽然都是对类型A的引用,但是调用Execute时会打印出不同的句子。
这就是多态性。

java中的多态实际中到底用在什么地方?

举个最简单的例子:Listlist=newArrayList();这句话可以理解为多态,因为List本身就是一个接口,而ArrayList才是实际的应用类。
优点是,如果您不知道列表中的实际数据类型,则可以掩盖差异。
多态性体现在两种方面:重写和重写是父类与子类之间多态性的体现,其优点是可以保护不同子类对象之间的差异,使代码能够通用于不断变化的需求。
重载是这些类之间多态性的一种表现,其优点是用户可以从同一个对象上的同一个方法调用函数的不同实现,最大限度地适应不同用户的需求。

JAVA中,为什么要用多态,,怎么用请给个通俗易懂的例子解释下……

多态性体现在两个方面:遗传多态性。
同一抽象事物在具体类型中有不同的表现形式。
例如,大多数动物(抽象类)可以吠叫,但是狗(实现类)在吠叫,猫(实现类)在喵叫,或者它们有需要修改的包含关系,例如Items(基类)有。
现实的详细信息功能,但书籍(子类别)上显示的详细信息还可以包括书籍特有的信息,例如页码、作者等,这也是多态的。
重载多态性:相同的方法名在传递不同类型和数量的参数时需要表现不同。
在构造函数中使用较多,一般一个类有一个无参构造函数,也有多个有参构造函数,这是因为在编程时更容易调用不同的构造函数来生成不同的类。
例如,如果没有参数,则将所有属性设置为默认值;如果有参数,则使用参数来初始化属性等。

JAVA中使用多态有的好处。有什么用处

多态性包括编译时多态性和运行时多态性。
第一个是通过方法重载实现的;第二种是通过方法重写来实现(子类重写父类的方法)。
首先是我们在调用方法时不需要区分参数类型。
程序会自动实现相应的方法,比如add操作,可以加一个整数或者一个双精度数,都具有相同的方法名。
第二种是动态绑定,使用父类引用来引用子类对象。
当调用特定父类中的方法时,不同的子类会显示不同的结果。
这样做的效果是它具有出色的可扩展性。
如果你玩过网络游戏,你应该知道游戏中有不同的角色,每个角色都有一个主职业。
当他们做同样的动作时,效果就会不同。
和跑步一样,魔法师的跑步和战士的跑步不同,因为它们都覆盖了父类的跑步方法,并且各有各的实际,表现出多态性。
如果有一天你想再增加一个角色,只需要再写一个类来继承原来的类并替换操作方法即可,不需要更改其他代码,所以可维护性也很好。

java中什么地方需要多态?

多态体现在两个方面:

1重载:同一个类具有相同的方法名,但参数和返回值不同。

2重写:子类继承父类,重写方法名和参数。

类Person{privateintid;//设置getter省略publicPerson(){//构造函数方法重载This.id=1;this.name="张山"}publicPerson(intid,stringname){this.id=id;ublicvoidwork(){//重载System.out.println("Thepersonisworking");的普通方法}publicvoidwork(intspeed){System.out.println("Thepersonisworking")"+speed+"speedwork");}}classYoungextendsPerson{publicvoidwork(){//重写work方法在父类System.out.println("Young正在工作");
热门文章
1
Java字符串分割技巧:轻松获取逗号前的... java任意一个字符串,当它碰到第一个逗号时,返回逗号前面的字符串,例如:str...

2
SQL多表连接查询全解析:JOIN语句应... sql多表关联查询在执行SQL多表连接查询时,可以使用JOIN语句将多个表连接在...

3
Java中字符串类型详解:String与... 变量有字符类型,为什么没有字符串类型??基本类型:charshort、int、l...

4
JavaSE与JavaEE:从基础到企业... javase 和javaee的区别?JavaSE和JavaEE...

5
Java程序员面试必知:核心技术问答与技... java编程程序员技术面试常见面试?随着互联网的不断发展,Java开发已经成为很...

6
Java.exe与Javaw.exe:区... 程序中java和javaw有什么区别java和javaw的区别:两者都是Java...

7
深入解析:Java中的javax包及其与... JAVA导入时,什么是javax?awt是java1.0,swing是java2...

8
编程技巧:小写转大写字符串转换实现解析及... 字符串小写字母转换为大写,提示输入字符串,输入任意字符串string点击Ente...

9
Java字符串到字节数组转换详解及代码实... java中String转换为byte[]在Java编程中,将字符串转换为字节阵列...

10
C语言实现:输入10个0-10数字,计算... C语言编程: 输入0-10之间的十个数字 找出最大值 最小值 去除最大值最小值后...