接口

一,接口

1,接口概念
接口不是类,而是对类的一组需求描述。(一个类可以实现一个或多个接口 implement

接口中所有的方法自动属于public,不必提供关键字public。但是在实现接口时必须声明。

接口可以有一个或多个方法,可以定义常量,但是不能有实例域

让类实现一个接口:
将类声明为实现给定的接口(implements)
对接口的所有方法进行定义

2,接口的特性
接口不是类,不能用new实例化一个接口;
可以声明接口变量,但必须引用实现了接口的类对象;
接口与接口之间可以用extends继承;
接口中的域都会被自动设为public static final。

3,抽象类和接口
每个类只能有一个超类(java不允许多重继承),但可以实现多个接口。
允许在接口中增加静态方法。

4.默认方法可以为接口方法提供一个默认实现,也就说类实现的时候可以不实现这个方法
默认方法冲突:如果现在一个接口中将一个方法定义为默认方法,又在超类或者另一个接口中定义了同样的方法,会产生默认方法冲突,怎么解决:
i.超类优先(类优先原则)
ii.接口冲突,则覆盖超接口的方法
iii.继承了两个不同接口,里面有同样的方法,程序员需要解决这个二义性(也就是报错呗?)

二,接口示例

1,接口与回调
回调(callback)是一种常见的设计模式。
2,Comparable接口
3,对象clone
浅拷贝和深拷贝的区别:如果对象有子对象,继承Object的clone方法时,必须重新定义clone方法来建立一个深拷贝,以确保不仅拷贝对象和原对象有不同的引用,子对象也有不同的引用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值