为什么使用接口?
两个类中的两个类似的功能,调用他们的类动态的决定一种实现,那他们提供一个抽象父类,子类分别实现父类所定义的方法 。
问题的出现:Java是一种单继承的语言,一般情况下,哪个具体类可能已经有了一个超类,解决是给它的父类加父类,或者给它父类的父类加父类,只到移动到类等级结构的最顶端 。这样一来 , 对一个具体类的可插入性的设计,就变成了对整个等级结构中所有类的修改 。
接口是可插入性的保证 。
在一个等级结构中的任何一个类都可以实现一个接口,这个接口会影响到此类的所有子类,但不会影响到此类的任何超类 。此类将不得不实现这个接口所规定的方法 , 而其子类可以从此类自动继承这些方法,当然也可以选择置换掉所有的这些方法,或者其中的某一些方法 , 这时候,这些子类具有了可插入性(并且可以用这个接口类型装载,传递实现了他的所有子类) 。
我们关心的不是那一个具体的类 , 而是这个类是否实现了我们需要的接口 。
接口提供了关联以及方法调用上的可插入性 , 软件系统的规模越大 , 生命周期越长 , 接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证 。
类型
使用Java接口将软件单位与内部和外部耦合起来 。使用Java接口不是具体的类进行变量的类型声明,方法的返还类型声明,参量的类型声明,以及数据类型的转换 。
在理想的情况下,一个具体的Java类应当只实现Java接口和抽象Java类中声明的方法,而不应当给多余方法 。
类型等级结构
Java接口(以及抽象类)一般用来作为一个类型的等级结构的起点 。
如果一个类已经有了一个主要的超类型,那么通过实现一个接口 , 这个类可以拥有另一个次要的超类型,这种次要的超类型叫做混合类型 。
Java接口常用方法
单方法接口
以下是引用片段:
public interface Actionlistener() {
public abstract void actionPerformed(ActionEvent event);
【java继承接口代码 java怎么继承接口】}
仅且只有一个方法,只有实现了这个接口(重写这个接口中的唯一一个方法),你才有资格去事件监听器列表里注册(参数为Actionlistener类型) , 当事件源变动时,自动调用这个唯一的actionPerformed方法.
标识接口
是没有任何方法和属性的接口 。标识接口不对实现它的类有任何语意上的要求,它仅仅表明了实现它的类属于一个特定的类型(传递) 。
不推荐过多的使用标识接口 。
常量接口
用Java接口来声明一些常量,然后由实现这个接口的类使用这些常量(以前在做画板的时候这么干过) 。建议不要模仿这种常量接口的做法 。
Java语言类型安全问题
Java是强类型的语言 。这意味着Java编译器会对代码进行检查,以确定没一次赋值,每一次方法的调用是符合类型的 。如果有任何不相符合的情况,Java编译器就会给出错误 。
类型检查是基于这样一个简单的事实:每一变量的声明都给这个变量一个类型;每一个方法包括构造器的声明都给这个方法的特征 。这样一来 , Java编译器可以对任何的表达式推断出一个明显类型,Java编译器可以基于明显类型对类型进行检查 。
Java语言是类型安全的 。这就是说,任何被Java编译器接受的合法的Java类保证是类型安全的 。换言之,在程序运行期间,不会有任何类型的错误 。一个Java程序根本不可能将一个本来属于一个类型的变量当作另一个类型处理,因此也就不会产生由此而引起的错误 。
推荐阅读
- 网络管理方向的毕业设计,网络管理论文范文大全集
- chatgpt对话无回应,两个ChatGPT对话
- 游戏开发巨头下载最新版,游戏开发巨头手机版攻略
- 秋风B站每天几点直播,秋风主播是哪个直播平台
- 局域网硬盘怎么装,局域网硬盘怎么装驱动
- 有名的角色扮演游戏,有名的角色扮演游戏叫什么
- 宝妈第一次直播卖货文案,第一次开直播卖货文案和视频内容
- 冒泡排序java代码格式 冒泡排序java实现
- 安卓3.9版本爱奇艺的简单介绍