Java接口详解
使用接口的目的
- 实现抽象的需求
- 实现多重继承的需求
接口的定义
interface interface_name{
//public static final fields
//public abstract methods
//Default Method Java8
//Static Method Java8
}
引入一个具体方法的原因:假设有一个接口和继承该接口的成千上万的类,如果要往该接口中增加一个抽象方法,然后再给每个类中写具体方法,那可能要累死个人,但是如果增加一个具体方法,只需要在调用时写一条语句就行,事半功倍。
接口的使用
类继承接口
interface Print{
void print();//自动添加 public abstract
}
class Hello implements Print{
void print(){
System.out.println("Hello");
}
}
多重继承
interface Print{
void print();
}
interface Show{
void show();
}
class HelloWorld implements Print,Show{
public void print(){
System.out.print("Hello ");
}
public void show(){
System.out.println("World!");
}
接口也可以继承接口
interface Print{
void print();
}
interface Show implements Print{
void show();
}
class HelloWorld implements Print,Show{
public void print(){
System.out.print("Hello ");
}
public void show(){
System.out.println("World!");
}
接口也可以嵌套接口
interface Show{
void show();
public interface Message{
void msg();
}
}
class Hello implements Show.Message{
public void msg(){System.out.println("Hello");
}
接口也可以嵌套在类里面
class Show{
interface Message{
void msg();
}
}
class Hello implements Show.Message{
public void msg(){System.out.println("Hello");
}
使用接口的注意事项
- 继承接口的类必须继承接口声明的所有方法。
- 嵌套在接口中的接口必须声明为 public,在类中则没有限制。
- 嵌套的接口都被声明为 static。
接口与抽象类的比较
共同点:都可以实现抽象的作用,且都不可以实例化。
不同点:最大的不同点是接口实现了完全的抽象,而抽象类只是部分抽象。具体可以看下面这篇文章。
https://www.javatpoint.com/difference-between-abstract-class-and-interface
参考链接:
https://www.javatpoint.com
https://www.programiz.com/java-programming/interfaces
(本文不定时更新)
以上内容只代表个人观点,如果对你有所帮助,点击这里给我一个小小的star
如果有任何问题欢迎随时联系我进行批评指正:2076577077@qq.com
我是 gled fish, 点击这里来到我的博客网站:
尊重作者原创, 转载请注明作者和出处,请勿用于任何商业用途。