java接口

Posted wbsbxh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java接口相关的知识,希望对你有一定的参考价值。

--------------------------------------------------接口开始------------------------------------------------------

接口(interface):
1、数据成员必须初始化为常量,不能再更改,final可省略
2、抽象方法的声明,无方法体,abstract 可省略

接口定义的语法如下:
interface 接口名称 // 定义抽象类
{
final 数据类型成员名称 = 常量; // 数据成员必须赋初值
abstract 返回值的数据类型方法名称(参数…);// 抽象方法,注意在抽象方法里,没有定义方法主体。
}

接口实现类必须在类内部复写接口中的抽象方法,在接口实现类中可自由地使用接口中的常量,直接用常量名或this.常量名即可。

接口可多继承:public interface E extends A, B
如果接口实现类实现的接口a继承了其他接口b/c,那么接口实现类中要复写所有接口a/b/c中的方法,且所有接口中的常量在接口实现类中都可自由使用

接口存在的意义:接口是java实现多继承的一种机制,一个类只能继承一个父类,但如果需要一个类继承多个抽象方法的话,就明显无法实现,所以就出现了接口的概念。一个类只可以继承一个父类,但却可以实现多个接口。


接口和类的区别:
1.类中数据成员可以是变量,变量可不赋初值。 接口中的数据成员必须赋初值,且是常量,不可更改。
2.类中方法可以有方法体。 接口中方法是抽象方法,无方法体
3.类是单继承的:一个类只能继承1个父类。 接口支持多继承:一个接口可继承多个接口,也就是同时继承了多个接口的抽象方法与常量
4.一般类可直接实例化对象。 接口需要通过接口实现类去实例化对象


抽象类和接口的区别:
1.抽象类中数据成员可以是变量,变量可不赋初值。 接口中的数据成员必须赋初值,且是常量,不可更改。
2.抽象类中非抽象方法可以有方法体。 接口中方法均是抽象方法,无方法体
3.抽象类是单继承的:一个类只能继承1个父类。 接口支持多继承


抽象类和接口共性:
1.抽象方法都只声明不实现
2.不可直接实例化


接口存在的意义:做模板用的,要求子类必须有特定方法,支持多继承
1.接口是对实现类的约束,要求实现类必须有特定的方法
2.接口是java实现多继承的一种机制,一个类只能继承一个父类,但如果需要一个类继承多个抽象方法的话,就明显无法实现,所以就出现了接口的概念。
一个类只可以继承一个父类,但却可以实现多个接口。
---------------------------------------------------接口结束------------------------------------------------------

以上是关于java接口的主要内容,如果未能解决你的问题,请参考以下文章

Java_接口

java中接口的定义是啥?

给个Java接口回调的例子

java中接口可以实现多个接口吗

java远程调用接口的原理和范例,谢谢

java接口和类有啥区别?