zoukankan      html  css  js  c++  java
  • 接口

    如果不会接口,别说你会java。

    1.接口的基本定义

    如果一个类中只是由抽象方法和全局常量组成。在这中情况下,不会讲其定义为抽象类,二回定义为接口。。接口就是一个抽象类,而且这个类里面只有抽象方法,构造方法都没有。

    interface A {
        public static final String MSG = "Hello "  //global constant
        public abstract void print() ;  //abstract method
    
    }

    接口对象不可能直接使用new()实例化

    接口必须要有子类

    一个子类可以使用 implements关键字实现多个接口。

    接口的子类(如果不是抽象类),必须覆写接口中的全部抽象方法。

    接口的对象利用子类对象向上转型实例化操作。

    范例:

    interface A {
        public static final String MSG = "Hello ";  //global constant
        public abstract void print() ;  //abstract method
    
    }
    interface B{
        public abstract void get() ;
    }
    class X implements A,B{
        public void print(){
            System.out.println("A--print()") ;
        }
        public void get(){
            System.out.println("B--get()") ;
        }
    }
    public class Jiekou {
        public static void main(String arg[]){
            X x = new X() ;
            A a = x ;
            B b = x ;
            a.print() ;
            b.get() ;
        }
    }

    //输出结果 A--print() ;
    //B--get();

    如果主函数中写成

            A a = new X();
            B b = (B) a ;
            b.get() ;
            System.out.println(a instanceof A) ;
            System.out.println(a instanceof B) ;
    结果是两个都是true

    对于子类而言,如果他又要继承抽象类,又要实现接口的话,那么:

    先extends  再implements

    对于接口来说,里面都是抽象方法和全局常数,所以有时候也会省略写 abstract和public static final。

    interface A{
        String MSG = "Hello" ;
        void fun() ;
    }
    但是最好写public void fun();

    一个抽象类智能继承一个抽象类,接口可以继承好多个接口

    interface A{
         public  void funA() ;
    }
    interface B{
        public void funB() ;
    }
    interface C extends A,B{
        public void funC() ;
    }
    
    class X implements C(){
        
    }

    一个子类只能继承一个抽象类,但是可以实现多个接口。

    在java中,接口主要功能是解决单继承局限问题。

    虽然从接口本省的概念上来讲只能由抽象方法和全局常量组成,但是所有的内部结构不受要求限制的,接口里面可以定义普通内部类,抽象内部类。

    接口的内部接口,使用static修饰的时候,相当于外部接口

    interface A{
        public funA() ;
       static interface B{
            public abstract void funB() ;
        }
    
    }
    class X implements A.B{
        public void funB(){
            System.out.println("Hello") ;
        }
    }

    总结:

    接口的三大核心作用:

    1.定义不同层之间的操作标准

    2.表示一种操作能力

    3.表示将服务器的远程方法视图暴露给客户端。

  • 相关阅读:
    电子商务运营模式
    PHP 常用资源
    Ajax 常用资源
    java 常用资源
    Net 常用资源
    Web App 响应式页面制作 笔记整理
    移动端click事件延迟300ms该如何解决
    阻止冒泡事件
    关于jquery stopPropagation()阻止冒泡事件
    集算器如何处理类文本数据计算
  • 原文地址:https://www.cnblogs.com/da-peng/p/5125046.html
Copyright © 2011-2022 走看看