Java-接口-基本知识解析

接口:

  1. 接口的语法:
    I. 相当于特殊的抽象类,定义方式、组成部分,与抽象类类似。
    II. 接口中只能定义公开静态常量(变量)
    III. 接口中只能定义公开抽象方法(方法)
    IV. 接口不是类

interface MyInterface{ //使用interface关键字定义接口
public static final String FIELD = “value”;
public abstract void method();
// 只能定义:公开静态常量、公开抽象方法
}//没有构造方法,不能创建对象

class 类名 extends 父类名 implements 接口名1 ,接口名2{}
implements //实现
接口使用
接口中的成员 变量默认都是public static final的,必须显示初始化
接口中的方法 默认都是public abstract的
接口没有构造方法,不能被实例化
一个接口不能实现另一个接口,但可以继承多个其他接口
一个类必须实现接口抽象方法,除非这个类也是抽象类

  1. 接口与抽象类的异同:
    I. 相同:
    1).可以编译成字节码文件
    2).不能创建对象。(接口不是类,不是模板的概念,也没有构造方法)
    3).可以声明引用。
    4).具备Object定义的方法。
    II. 不同:
    1.接口中的属性只能是公开静态常量(隐式使用public static final修饰)public 以及 static 以及 final 可以隐藏
    2). 接口中的方法只能是公开抽象方法(隐式使用public abstract修饰)
    3). 没有构造方法、没有动态代码块、没有静态代码块

抽象方法(规定子类必须存在的行为、规范了该行为的具体要求)
3. 接口的概念:
I. 接口是种能力和约定
1). 接口的定义:代表了某种能力
2). 方法的定义:能力的具体要求,约定
II. 经验:Java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力。
III. 经验:接口支持多实现,可为类扩充多种能力。

  1. 接口的规范:
    I. 任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类。
    II. 实现接口中的抽象方法时,访问修饰符必须是public。

  2. 接口引用:
    I. 同父类一样,接口也可声明为引用,并指向实现类对象。
    II. 注意:
    1). 仅可调用接口中所声明的方法,而不可调用实现类中独有的方法。
    2). 可强转回实现类的本身类型,进行独有的属性和方法的调用。(强转前通过instanceof判断)

  3. 接口的多态: 接口表示某种能力
    (使用接口作为方法形参,更自然的实现多态,扩大可选的范围)
    I.多种不同类型的引用指向同一个对象时,表示看待对象的视角不同II.不同引用所能看到的对象范围不同,只能调用自身类型中所声明的部分
    Ⅲ.不同引用类型,仅可调用自身类型中所声明的方法
    class Student implements会换灯泡的{
    public void 求人换灯泡(会换灯泡 person){
    灯泡 废灯泡 = person.换灯泡();} }
    interface 会换灯泡的{ public 废灯泡 换灯泡(); }

  4. 常见关系:
    I.类与类:单继承,extends父类名称
    II.类与接口:多实现,implements 接口名称1,接口名称2,接口名称3
    III. 接口与接口:多继承,extends 父接口名称1,父接口名称2。。。

  5. 常量接口:
    public static final int A = 10;
    将多个常用于表示状态和固定值的变量,以静态常量的形式定义在接口中统一管理,提高代码的可读性。
    接口定义常量更纯粹
    直接可以 通过函数 调用 接口名.常量名 输出

  6. 接口:
    宏观概念:
    I. 接口是一种标准。 接口的实现者—接口/标准—接口的使用者
    谁创建了实现类对象调了接口的方法谁就是使用者
     implements 实现者
    II. 耦合度:模块与模块之间的关联程度,关联的越密切,耦合越高,关联的越松散,耦合越低。

回调原理
接口回调:先有接口的使用者,后有接口的实现者
4工具的调用者(程序员) ——> 工具2(接口的使用者) ——> 接口1(标准) ——> 3接口的实现者(程序员)

接口的好处
程序的耦合度降低
更自然的使用多态
设计与实现完全分离
更容易搭建程序框架
更容易更换具体实现

总结
什么是接口
微观:接口是一种能力和约定
宏观:接口是一种标准
接口与类的异同
没有构造方法,仅可定义公开静态常量与公开抽象方法
接口的应用
Java为单位继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力
接口的规范
任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类
实现接口中的抽象方法时,访问修饰符必须是public
什么是常量接口
将多个常用于表示状态或固定值的变量,以静态常量的形式定义在接口中统一管理
什么是接口回调
先有接口的使用者,后有接口的实现者。

Java中的接口
属性全都是静态常量
方法都是全局抽象方法
无构造方法
一个类可以实现多个接口,非抽象类实现接口时必须实现接口中的全部方法
抽象类利于代码复用,接口利用代码维护。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值