12.接口

本文详细介绍了Java中的接口和抽象类,包括接口的特点、成员特点、类与接口的关系,以及抽象类与接口的区别。接口用Interface修饰,用于定义行为规范,不能实例化,而抽象类可以包含变量、构造方法和抽象方法。类可以单继承抽象类,多实现接口,接口则可以多继承。抽象类适合对事物进行抽象,接口专注行为抽象,如Door类和Alarm接口的示例所示。
摘要由CSDN通过智能技术生成

接口

1.2 接口的特点

●接口用关键字Interface修饰
    public interface 接口名 {}
●类实现接口用implements表示
    public class 类名 implements 接口名 {}
●接口不能实例化
    接口如何实例化呢?参照多态的方式,通过实现类对象实例化,这叫接口多态。
    多态的形式:具体类多态,抽象类多态接口多态
    多态的前提:有继承或者实现关系;有方法重写;有父(类/接口)引用指向(子/实现)类对象
●接口的实现类
    要么重写接口中的所有抽象方法
    要么是抽象类

1.3 接口的成员特点

●成员变量
    只能是常量
    默认修饰符:public static final

即接口定义的变量(并不是变量,其实是常量)
1.是个常量
2.是public的
3.是静态的
4.由于是静态的所以可以直接通过接口名调用

●构造方法
    接口没有构造方法,因为接口主要是对行为进行抽象的,是没有具体存在
    一个类如果没有父类,默认继承自Object类

此处我们了解到了Object类 Object类是每个类的父类
每个类都直接或间接的继承着Object,即如果某个类没有父类,那么他就是直接继承着Object类。

●成员方法
    只能是抽象方法
    默认修饰符:public abstract

关于接口中的方法,JDK8和JDK9中有一些新特性

实现接口的类命名方式:接口名后跟一个Impl就表示是该接口的实现类

1.4 类和接口的关系

●类和类的关系
    继承关系,只能单继承,但是可以多层继承
●类和接口的关系
    实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口
●接口和接口的关系
     继承关系,可以单继承,也可以多继承

1.5 抽象类和接口的区别

●成员区别
    抽象类        变量,常量;有构造方法;有抽象方法,也有非抽象方法
    接口        常量;  抽象方法
●关系区别
    类和类        继承,单继承
    类与接口        实现,可以单实现,也可以多实现
    接口与接口        继承,单继承,多继承
设计理念区别
    抽象类        对类抽象,包括属性、行为
    接口        对行为抽象,主要是行为

怎么理解抽象类是对事物的抽象,而接口是对行为的抽象
举个栗子,门有open,close两个事物本质性的功能,而alarm报警器是个别门才具有的特殊功能或者称之为行为。

public interface Alarm{
	void alarm();
}
public abstract class Door{
	public abstract void open();
	public abstract void close();
}
public class AlarmDoor extends Door implements Alarm {
	public void open() {
		//...
	}
	public void close() {
		//...
	}
	public void alarm() {
		//...
	}
}	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值