接口

  接口(interface)

  接口用来描述类应该做什么,而不指定他们具体应该如何做。就是说,接口给出一些没有实现的方法,封装到一起,某个类要实现它的时候,再根据具体情况将这些方法重写。可以理解为,接口是多个类的共同行为规范,是更加特殊的“抽象类”。(但与类存在着许多不同之处)

  定义接口的关键字:interface

  几点注意事项:

    (1)接口不能被实例化,即不能用new来实例化一个接口。

    (2)一个类可以实现多个接口。

    (3)接口中所有的方法都自动是 public 方法, 因此声明方法时不必提供关键字public。接口中的抽象方法,可以不用 abstract 修饰。例如:void run( );     ⇔    public void run( );   ⇔   public abstract void run( );   三者是等价的。接口中的普通方法,需要用default声明;静态方法则用static。普通方法和静态方法必须有方法体,即:花括号。

(注:在JDK7.0及之前的版本,接口里所有的方法都不允许有方法体,而在JDK8.0及之后的版本,接口中的方法可以有方法体。当然,抽象方法还是不能存在方法体的。)

    (4)一个普通类实现接口,就必须实现该接口中所有的抽象方法,普通方法和静态方法可以不用实现。如果是抽象类实现接口,可以不用实现接口里的任何方法。

    (5)接口中的字段(属性)只能是public static final,即:静态公开常量。例如:int age = 18; 等价于 public static final int age = 18;

        接口中的属性的访问格式: 接口名.属性名 

    (6)接口之间是可以继承的,但是接口与类之间不可以。即:接口不能继承类,但是可以继承接口。继承还是使用extends关键字。

    (7)接口的修饰符只能是public 和 默认。(这一点和类一样)

  

  接口的多态性:

    (1)多态参数:接口类型可以做为方法的形参。调用方法时,只要是实现了该接口的类的对象实例,都可以当作实参传入。

    (2)实现了接口的类,该类可以赋给这个接口声明的引用。(类似向上转型)

    (3)多态数组:接口类型可以定义数组,这样的数组可以存放实现了该接口的所有的类的对象。

 

 

 

 

    

posted @   已经学到HelloWorld了  阅读(102)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示