Java接口详解

Java接口详解

使用接口的目的

  1. 实现抽象的需求
  2. 实现多重继承的需求

接口的定义

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");
    }  

使用接口的注意事项

  1. 继承接口的类必须继承接口声明的所有方法。
  2. 嵌套在接口中的接口必须声明为 public,在类中则没有限制。
  3. 嵌套的接口都被声明为 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, 点击这里来到我的博客网站:


尊重作者原创, 转载请注明作者和出处,请勿用于任何商业用途。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gledfish

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值