zoukankan      html  css  js  c++  java
  • Java中的接口

    在上一篇Java中的抽象类中提到抽象类,现在讲一个和它很像的东西“接口”,为什么说它和抽象类很像呢?因为接口也是抽象的,它一样不实现具体的代码,下面就是一段关于接口的代码

    interface Base{
        void hello();
    }
    
    class A implements Base{
        public void hello(){
            System.out.println("hello A");
        }
    }
    
    public class app {
        public static void main(String[] args){
            A a = new A();
            a.hello();
        }
    }
    
    // hello A
    
    

    Java通过interface来定义接口,通过implements来实现具体代码。这真的非常像抽象类abstract,那么它和抽象类有什么区别呢?接口里面的方法必须是抽象方法,而抽象类里面的方法则根据你自己来定义。另外一个比较大的区别就是,一个接口可以继承至多个接口,而抽象类则不能,继承至多个接口通过逗号隔开。以下是一个继承至多个接口的例子。

    interface Base{
        void hello();
    }
    interface Base2{
        void hello2();
    }
    
    interface Base3 extends Base,Base2{
        void hello3();
    }
    
    class A implements Base3{
        public void hello(){
            System.out.println("Hello 1");
        }
        public void hello2(){
            System.out.println("Hello 2");
        }
        public void hello3(){
            System.out.println("Hello 3");
        }
    }
    
    public class app {
        public static void main(String[] args){
            A a = new A();
            a.hello();
            a.hello2();
            a.hello3();
        }
    }
    

    也就是类体里全部都是抽象方法时,我们就可以把这个类定义为接口。

    不过也需要注意一下,再接口中定义的变量或方法默认都是公开的public,所以在实现具体方法时,必须显示的设置,另外一点就是接口中的变量都会成为常量。

    那么接口有什么用呢?个人感觉就是用来归类的,还有一点就是,一种规范,其他人能够知道这个接口中都有哪些方法,而不必去关心里面具体是怎么实现的,我们只要调用这个接口就可以了,在自己写库时比较实用。

  • 相关阅读:
    什么是继承?
    程序员兄弟们,我们的基本素质怎么样?
    C#基础概念二十五问
    windows mobile 5.0 PocketPC模拟器上网的设置
    数据库设计中的14个技巧
    Microsoft SQL Server 2005 存储过程翻页
    在.Net如何制作自定义的快捷方式(转)
    ActiveSync 没有DMA端口问题的解决方法
    原型模式(Prototype Pattern)
    获取鼠标和键盘长时间不动的时间
  • 原文地址:https://www.cnblogs.com/pssp/p/6297760.html
Copyright © 2011-2022 走看看