JAVA中的接口与类的关系

接口的基本概念

虽然编写接口的方式和类很相似,但接口并不是类,它们是不同的两个概念。类描述对象的属性和方法,接口则包含类要实现的方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。
接口与类的相似点

一个接口可以有多个方法。
接口文件保存在 .java 结尾的文件中,文件名使用接口名。
接口的字节码文件保存在 .class 结尾的文件中。
接口相应的字节码文件必须在与包名称相匹配的目录结构中。

接口与类的区别

接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承,而是要被类实现。
接口支持多继承。

接口的特性

接口中每一个方法是隐式抽象的,接口中的方法会被隐式的指定为 public abstract(只能是 public abstract,其他修饰符都会报错)。
接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量(并且只能是 public,用 private 修饰会报编译错误。
接口中的方法不能在接口中实现,只能由实现接口的类来实现。

接口与抽象类的区别

抽象类中的非抽象方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
抽象类可以有静态代码块和静态方法(用 static 修饰的方法),而接口中不能含有。
一个类只能继承一个抽象类,而一个类可以实现多个接口。

接口的声明

接口的声明使用 interface 关键字:

public interface InterfaceName {
    public returnType methodName();
}

接口是隐式抽象的,当声明一个接口的时候,不必使用 abstract 关键字。
接口中每一个方法也是隐式抽象的,声明时同样不必使用 abstract 关键字。
接口中的方法都是公有的。

接口的实现

当类实现接口的时候,类要实现接口中所有的方法。否则,类必须声明为抽象类。

使用 implements 关键字实现接口:

public class ClassName implements InterfaceName {
    public returnType methodName() {   //必须实现接口中的方法
        ...
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值