zoukankan      html  css  js  c++  java
  • 接口——Java面向对象基础(23)

    接口

    接口的语法:

    public interface 接口名称{ // interface关键字修饰的类

        

    }

    public interface MyInterface {
              //定义一个接口      
    }

    注意:此接口非彼接口

        程序员之间经常交流的接口:通讯接口

        interface关键修饰的接口:java中的基础,是设计上的一种扩展

    接口的好处

    1、解决了单继承的局限性

    2、将设计和实现分离,对外(调用者)隐藏了实现(而通常调用者也不需要关心实现)

    3、面向接口编程是OOP的核心

    接口的注意事项

    接口:类与类之间只能单继承, 而接口突破了这个限制.

         1、接口不能实例化

         2、接口它的属性是静态常量默认加public static final …..),它的方法是抽象方法(默认public abstract ……)

         3、实现类必须实现接口的所有方法,除实现类也是抽象类。

         4、实现类可以有多个接口

         5、接口没有构造方法

    接口和抽象类的区别

    1、抽象类可以有构造方法,接口中不能有构造方法(两个都不能直接实例化)

    2、抽象类中可以有普通成员变量,接口中没有普通成员变量。它是静态常量

    3、抽象类中可以包含非抽象的普通方法,不能有非抽象的普通方法(jdk1.8及以上就可以有普通方法,但必须加default关键字修饰)。

    4、抽象类中的抽象方法的访问类型可以是 public,protected ,但接口抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。

    5、抽象类中可以包含静态方法,接口中不能包含静态方法(jdk1.8+能行)

    6、抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是 public static final 类型,并且默认即为 public static final 类型。

    7、一个类可以实现多个接口,但只能继承一个抽象类。

    代码测试

     1、接口不能实例化

     

     2.可以通过匿名内部类的方式间接实例化对象,并对实现接口中规定的方法。

     3.接口的属性默认为public static final,其方法默认为public abstract

     

     4.普通类实现接口必须实现接口中的方法,抽象类实现接口可以不实现接口中的方法

     

     

     

     4.一个类可以继承多个接口。

    5.接口没有构造函数。

     6.接口中不能有静态方法,(但是jdk1.8中,接口可以有静态方法)

     7.接口中不能有普通方法,但是(jdk1.8中,接口可以有普通方法,但是必须使用default关键字声明)

     8.接口中的方法必须为public

     

  • 相关阅读:
    为Jupyter只安装目录的扩展包
    前端菜鸟的小程序摸索记录
    小计:Shopee批量删除修复~附脚本
    Python3 与 C# 并发编程之~ 协程篇
    记一次硬件故障,并普及点硬件知识
    小计:协同办公衍生出的需求
    监控MySQL|Redis|MongoDB的执行语句(go-sniffer)
    Linux IO实时监控iostat命令详解
    Linux下的磁盘缓存
    使用top命令查看系统状态
  • 原文地址:https://www.cnblogs.com/Unlimited-Rain/p/12521936.html
Copyright © 2011-2022 走看看