美文网首页
Java基础-10 接口interface

Java基础-10 接口interface

作者: 往南渡 | 来源:发表于2017-03-23 10:50 被阅读0次
    java-10.jpg

    接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能

    接口的定义格式:

    interface 接口名{
                default void test(){   //默认方法需要default来修饰
                          System.out.println("hello ");
                    }
                    static String staticTest(){ //在接口中定义类方法,需要static来修饰
                           return "类方法"; 
                    }
    }
    

    实现接口的格式:
    class 类名 implements 接口{
    }

    接口要注意的细节:
    1. 接口其实是一个特殊的类。
    2. 接口中的成员变量都是属于常量,默认的修饰符 public static final.
    3. 接口中的方法都是抽象 的方法, 默认的修饰符: public abstract 。
    4. 接口是不能用于创建对象。
    5. 接口是没有构造方法的,因为接口中的变量都是常量,接口中方法都是抽象 的方法。
    6. 一个非抽象类实现一个接口时,必须实现接口中的所有方法。

    //A接口

    interface A{
    //成员变量
    public static final int i =10;
     void test();
    

    }

    //Demo实现了A接口...

    class Demo  implements A{
    public static void main(String[] args) 
    {
        //A a =  new A();
        Demo9 d  = new Demo9();
        d.test();
    }
    
    public void test(){
        System.out.println("这个接口的test方法...");
    }
    

    }

    接口和抽象类的异同:

    相同:

        1.接口和抽象类都不能被实例化,他们都位于继承树的顶端,用于被其他类实现和继承.
        
        2.接口和继承类都可以包含抽象方法,实现接口或继承抽象类的普遍子类都必须实现这                些抽象方法.
    

    不同:

        1.接口作为系统与外界交互的窗口,接口体现的是一种规范,对于接口的是闲着而言,接口    规定了是闲着必须向外提供哪些服务(以方法的形式来提供);对于接口的调用者来言,接口规定了调用者可以调用哪些服务(就是如何调用方法);抽象类作为系统中多个子类的共同父类,它所体现的是一种模板式设计,可以被当做系统中实现过程中的中间产品,这个中间产品已经实现了系统的部分功能(那些已经提供实现的方法),但这个产品依然不能成为最终的产品,必须更进一步的完善.
        
        2.接口里只能包含抽象方法和默认方法,不能为普通方法提供实现方法,抽象类则完全可以包含普通方法.
        
        3.接口里不能定义静态方法,抽象类可以定义静态方法.
        
        4.接口里只能定义静态常量,不能定义普通成员变量;抽象类既可以定义普通成员变量,也可以定义静态成员变量.
        
        5.抽象类里包含构造器,抽象类里的构造器并不是用于创建对象,而是让子类调用这些构造器来完成属于抽象类的初始化操作.
        
        6.接口里不能包含初始化块,但抽象类则完全可以包含初始化块.

    相关文章

      网友评论

          本文标题:Java基础-10 接口interface

          本文链接:https://www.haomeiwen.com/subject/cdebnttx.html