接口的概念
在JAVA编程语言中,接口是一个抽象类型,类似于抽象类。接口以interface来声明,其中只进行函数原型的声明,而不对函数进行实现。一个类通过继承接口的方式,来继承接口中的方法,进而对接口中的方法进行实现。
接口特性
-
接口没有构造方法。并且接口不能用于实例化对象。
-
接口中每一个方法是隐式抽象的,接口中的方法会被隐式的指定为 public abstract。
-
接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量。
-
接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。
代码示例
// 定义接口
public interface Myinterface {
// 定义程序使用的常量(接口中只能存在常量)
public static final double price = 1450.00;
public static final int counter = 5;
//接口中所有的方法都没有实现
public int add(int x, int y);
public int sub(int x, int y);
}
//实现接口
public class MyImple implements Myinterface {
@Override
public int add(int x, int y) {
return x + y;
}
@Override
public void sub(int x, int y) {
return x - y;
}
}
接口和抽象类的区别
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,这两者对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换。但其实,两者之间还是有很大的区别的
1、接口体现的是一种规范,抽象类体现的是模板式设计。
2、接口中不可以存在构造函数,但抽象类中可以有。
3、数据成员:接口里的变量全部为静态常量(static final),抽象类里可以有普通变量。
4、成员方法:接口的所有方法都是抽象的,不在接口中进行实现。而抽象类中既可以存在抽象方法又可以存在普通的方法。
5、一个类可以同时继承并实现多个接口,但只能继承一个抽象类。
参考文章:
https://blog.csdn.net/yeqiuboke/article/details/80866509
https://www.cnblogs.com/weibanggang/p/11184674.html