接口与多态

接口

什么是接口?
接口是一种引用类型,是一种极端的抽象类(但并非抽象类),在接口中所有的方法都是抽象方法(JDK1.7)
到了JDK1.8之后,接口中允许出现默认方法和静态方法。
到了JDK1.9之后,接口中允许出现私有方法和私有静态方法。
(现在市面上普遍都是用JDK1.8进行开发)

接口的定义格式
类:class
枚举:enum
注解:@interface
接口:interface
格式:

public interface 接口名{
			抽象方法
			默认方法
			静态方法
			}

接口与抽象类的区别
1.接口和抽象类一样含有抽象方法,不能创建对象
2.抽象类是用来继承的;接口是用来实现的
抽象类的子类,接口的实现类 都统一叫子类
3.继承用关键字 extends;实现用关键字implements

格式

public class 实现类 implements 接口{
}

接口的多实现
一个类只能继承一个父类-----单继承
一个类可以实现多个接口-----多实现

(父类的正常方法如果和接口的默认方法同名,那么会优先使用父类的方法)

格式

public class 实现类 implements 接口名1,接口名2....{
}

注意事项
1.实现类需要重写所有接口中的所有抽象方法,如果有相同的抽象方法,那么实现类只需要重写一次
2.静态方法没有重写的概念
3.实现类可以选择重写,如果重写不能加default
4.如果有相同的默认方法,那么实现类必须重写一次

多态

什么是多态
顾名思义,他是一个对象的多种状态

前提
必须有继承或者实现
必须有方法的重写

体现
父类类型的变量 指向了 子类类型的对象

多态调用方法的特点
编译时,看父类
运行时,看子类
优点:当方法的参数是父类类型的变量时,那么调用方法就可以传入任意一个子类对象
然后调用多态的方法时,编译看父类,运行时实际调用的是传入的子类对象中方法
缺点:只能调用子父类共有的方法

缺点的解决方案
向下转型(类似于字符的由高向低强制转换)

Fu f=new Zi();
Zi z=(Zi)f;

可能出现的问题
多态可以是任意子类对象,转型时可能出现类型转换异常

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值