首页 > 编程语言 > 详细

Java中的接口

时间:2020-04-04 19:14:42      阅读:67      评论:0      收藏:0      [点我收藏+]

接口的基础语法

  • 接口:
    1、接口也是一种"引用数据类型",编译后也是一个字节码文件;
    2、接口是完全抽象的(抽象类是半抽象);或者也可以说接口是特殊的抽象类。
  • 接口的定义和语法
    1、语法:
    [修饰符列表] interface 接口名{}
    2、接口支持多继承,一个接口可以继承多个接口。
interface C extends A, B {
}
  • 接口中只包含两部分内容(只有这两部分):
    一部分是:常量
    一部分是:抽象方法
  • 在接口中
    1、所有的元素都是public修饰的(都是公开的);
    2、抽象方法定义时:public abstract修饰符可以省略;
//public abstract int sum(int a, int b);
int sum(int a, int b);
//public abstract修饰符可以省略

3、方法都是抽象方法,所以接口中的方法不能有方法体。
4、接口中的常量
接口中随便写一个变量就是常量

//常量
//public static final double PI = 3.1415926;
double PI = 3.1415926;/*public static final可以省略,
但不代表不存在,所以这里的PI还是一个常量*/

类实现接口

  • 接口的基础语法:
    1、类和类之间叫做继承,类和接口之间叫做实现。
    2、仍然可以将"实现"看做"继承"。
    继承使用extends关键字完成;
    实现使用implements关键字完成。
    3、当一个非抽象的类实现接口的话,必须将接口中所有的对象方法全部实现(覆盖、重写)。
    4、实现时必须加上public(权限只能更高,不能更低)。
package com.zyh.jieKou;
public interface MyMath{
    int sum(int a, int b);
    int sub(int a, int b);
    }
package com.zyh.jieKou;
class MyMathImpl implements MyMath{
    public int sum (int a, int b){
        return a + b;
    }
    public int sub (int a, int b){
        return a - b;
    }
}
  • 一个类可以同时实现多个接口
    弥补了java中类和类只支持单继承的缺陷。
  • 关于接口之间的强转
    1、接口和接口之间在进行强制类型转换的时候,没有继承关系,也可以强转。(调用其它接口中的方法,需要转型->接口转型)
    2、但是一定要注意,运行时可能会出现classCastException异常。例如:
    接口A和接口B虽然没有继承关系,但是写代码的时候可以互转。编译器没意见,但是运行时可能出现: ClassCastException
  • 继承和实现都存在时
    extends关键字在前;implements关键字在后。

接口在开发中的作用

  • 类似于多态在开发中的作用(多态:面向抽象编程,不要面向具体编程。降低程序的耦合度,提高程序的扩展力。)
  • 接口可以解耦合
    任何一个接口都有调用者和实现者;
    接口可以将调用者和实现者解耦合;
    调用者面向接口调用;
    实现者面向接口编写实现。

类和类之间的关系

  • is a、has a、like a
    1、is a:
    Cat is a Animal (猫是一个动物)凡是能够满足is a的表示"继承关系”。
    A extends B
    2、has a
    He has a Pen (他有一支笔)凡是能够满足has a关系的表示"关联关系",关联关系通常以"属性"的形式存在。
    A{
    B b;
    }
    3、like a
    Cooker like a FoodMenu (厨师像一个菜单一样)凡是能够满足like a关系的表示"实现关系",实现关系通常是:类实现接口。
    A implements B

抽象类和接口有什么区别?

  • 只说语法上的区别,至于以后抽象类和接口应该怎么进行选择,通过后面的项目去体会/学习。
  • 1、抽象类是半抽象的;
    接口是完全抽象的。
    2、抽象类中有构造方法;
    接口中没有构造方法。
    3、接口和接口之间支持多继承;
    类和类之间只能单继承。
    4、一个类可以同时实现多个接口;
    一个抽象类只能继承一个类(单继承)。
    5、接口中只允许出现常量和抽象方法
    注:以后接口使用的比抽象类多,一般抽象类使用的还是少。接口一般都是对“行为"的抽象。

Java中的接口

原文:https://www.cnblogs.com/yu011/p/12632718.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!