Java接口以及多态性简单理解

对外提供的都是接口。
接口的思想:
笔记本电脑的USB接口:
1.接口的出现扩展了功能
2.接口其实就是暴露出来的规则
3.接口的出现降低了耦合性,解耦


*类用于描述是事物的共性基本功能
*接口用于定义的都是事物的额外功能


接口和抽象类的区别?
1.类与类之间是继承关系。is a
类与接口是实现关系。like a
2.抽象类中可以定义抽象和非抽象方法,子类可以直接使用,或者覆盖使用。接口中定义都是抽象方法,必须实现才能用。


多态的简单理解


多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
多态的作用:消除类型之间的耦合关系。
多态存在的三个必要条件:
1.要有继承
2.要有重写
3.父类引用指向子类对象
多态的好处:
1.可替换性。多态对已存在代码具有可替换性
2.可扩展性。增加新的子类不影响已存在的类的多态性、继承性,以及其他特性的运行和操作。(主要)
3.接口性。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
4.灵活性。
5.简化性。
java中多态的实现方式:
接口实现、继承父类进行方法重写,同一个类中进行方法重载。
[一个多态例子的代码]
(https://img-blog.csdn.net/20170607221434107?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGY1OTkyNjI2ODE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

多态的弊端:
不能使用子类的特有方法。
解决方法:向下转型
向下转型好处:可以使用子类型的特有功能。弊端:面对具体的子类型,向下转型有风险,容易发生ClassCastException。只要转换的类型和对象不匹配就会发生。想要安全就必须进行判断,判断一个对象是否匹配某个类型,需要一个关键字instanceof 对象 instanceof 类型
例子:if(!(a instanceof Dog)){
System.out.println(“类型不匹配”);
return;
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值