zoukankan      html  css  js  c++  java
  • java中的接口(J2SE入门7)

    Java中的接口

    接口是一种程序结构,是特殊的抽象类。接口中的方法必须都是公开的抽象方法(public abstract),接口中的属性都是公开静态常量(public static final)。

    声明一个接口用interface关键字,接口也是一种类型,编译之后也有生成相应字节码,他的声明规范也要符合类型的定义(一个源文件中只能有一个public interface,接口名和源文件名相同,有public interface,就不能在写public class了)接口中的属性可以不加修饰符,方法也不用加修饰符。

    接口也可以继承,但是只能由接口继承,在用类去继承时要换用implements关键字,这时类和接口也不叫做继承关系,而是实现关系,但其实质也是继承

    一个类可以继承也只能继承另外一个类,但是可以实现多个接口,其语法是在implements后面写接口名,多个接口以分隔。

    接口之间是可以多继承的,其语法和类的继承语法是相同的,在接口多继承时,在extends后写接口名如果要继承多个接口,接口名以分隔,接口的继承关系只是把其父接口中的抽象方法继承到子接口中。要实现接口就必须实现接口中的所有方法。

    一个类可以在继承一个类的同时,也可以实现一个或多个接口。采用接口就绕开了单继承限制

    接口类型也可以做为编译时类型使用,但其实际的运行时类型必须是完全实现接口的类的对象实例,这样就使多态变得很灵活了,

    注意:实现接口时,在实现(覆盖)抽象方法时,注意必须要在方法的返回值类型前加public修饰符。如果没有完全实现接口中的方法(编译器也会报错),那么这个类就只能够是个抽象类,不能创建对象。接口的是实质就是特殊的抽象类。接口没有构造方法

    接口的意义:
    1,接口可以实现多继承

    2,用接口可以实现混合类型(主类型,副类型),java中可以通过接口分出主次类型。主类型使用继承,副类型,使用接口实现

    3,接口进一步深化了标准的思想,接口本身就是一个标准,他起到了降低耦合性的作用,接口可以使方法的定义和实现相分离,也就是将接口的定义者和实现者相分离,接口也可以用于降低模块间或系统间的耦合性。针对接口编程可以屏蔽不同实现间的差异,看到的只是实现好的功能,

    接口:定义标准,
    接口的实现:实现标准
    接口的调用者:标准的使用
    针对接口编程原则,也就是按照标准实现。


    接口的回调:先有接口的定义(接口实现者),再有接口使用者,最后把接口的实现对象传入接口的使用者中,接口的使用者会通过接口来调用接口实现者的方法。

    接口的回调:接口的定义者定义好了标准,接口的使用者先写好了使用代码,接口的实现者写好实现之后把实现对象传入接口的使用者中。他调用接口中方法也就是掉用接口实现中的方法。这种过程叫做接口的回调。

    尽量使用接口类型作为编译时类型,尽量将抽取到的共性行为写在接口中。

    用若干个小接口取代一个大接口。(接口隔离原则)


    把一个类的功能作成接口,只暴露想暴露的方法,接口隔离原则可以实现更高层次的封装,针对的对象不同,暴露的方法也不同。

  • 相关阅读:
    Js new一个函数和直接调用函数的区别
    js 获取两个数组的交集,并集,补集,差集
    新版CHROME跨域问题:COOKIE之SAMESITE属性 PS:火狐浏览器SESSIOINID每次请求一致,但在谷歌浏览器每次的请求就不一样
    vue中handsontable 使用
    vue 单独页面定时器 离开页面销毁定时器
    vscode 之 power model 插件 超级炫酷的打字效果动画
    同步和异步的执行顺序
    为什么typeof null 的结果为 object
    悬浮显示input中所有的内容及css处理文字过长时显示为多余部分省略
    第十六次作业
  • 原文地址:https://www.cnblogs.com/syxchina/p/2197234.html
Copyright © 2011-2022 走看看