首页 > 编程知识 正文

方法重载是java实现多态性的一种方式,java覆盖和重载的关系

时间:2023-05-03 20:39:59 阅读:158074 作者:2145

面向对象的三种基本特征:数据抽象(封装)、继承、多态

重载:定义:在同一个类中,方法名称相同,但每个重载方法都有唯一的参数类型列表。 可以是不同的类型,可以是不同的参数个数,也可以是同一类型的不同顺序。 但是,无法通过返回值来区分重载方法。

void f () {}int f ) ) return1) f ); //哪个f ) ),所以无法通过返回值来区分重载方法的覆盖:条件:继承基类。

定义:覆盖是指导类重写与基类相同的方法,并扩展与基类同名的方法以获得自己想要的特定方法的内容。 如果导出类具有同名的重载方法,则可以通过添加标记@override来声明它是覆盖而不是重载。

多态性:条件:

1、继承基类。

2、重写。

3、父类引用指向子类对象。

定义:

1、多态性是一种允许您将父对象设置为一个或多个其他子对象的技术(可以理解为向上转型)。

2、在多态方法调用中,一个类型可以表达与其他相似类型的差异。 但是,只要它们都是从同一个基类派生的。

——向上转型

3、同一消息发送根据对象的不同可以采取不同的行为方式。

作用:多态性的作用是消除类型间的结合关系

内容:

1、Java所有方法(静态和final除外)都通过动态绑定实现多态性

2、多态性是程序员“隔离变与不变”的关键技术

3、private方法自动识别为final方法,不能被导出类屏蔽、复盖或重载。

4、域用编译器解析

5、构造函数不是多态性的(实际上,它们是静态方法,声明为隐式的) )。

优点:

1、改善代码的组织结构和可读性

2、编写可扩展程序

class Instrument{ public void play () (system.out.println('thisisplay ) ) ); } classwindextendsinstrument { public void play () system.out.println(thisisplay ) of Wind ' ); } public class test { publicstaticvoidmain (string [ ] args ) { Instrument i=new Wind ); //Upcasting i.play (; }} Output:This is play () of Wind

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