Java 接口

作者: 奔跑的笨鸟 | 来源:发表于2017-06-13 13:55 被阅读8次

    接口就是一组没有方法体的方法定义的组合

    接口定义方式:

    public interface IInterface{
        public void method1();
        public void method2();
    }
    

    接口是对事物的抽象,接口和实现类是is like a关系,接口和实现类可以本质的概念上不完全一致,可以把接口看成一个契约。
    比如有个Sleep interface:

    public interface Sleep{
        public void sleep();
    }
    

    如果有个Person 实现了Sleep:

    public class Person implements Sleep{
        public void sleep(){
        }
        public void eat(){
        }
    }
    

    说明Person具有sleep的功能,但不能上PersonSleep 本质是一样的。

    几点说明

    • 接口一般是public的,因为需要实现和被外部访问,实际上可也以定义一个private的接口。
    • 接口内的方法如果省略修饰符,默认是public的
    • 接口也可以嵌套
    • 接口可以多重继承

    理解Interfaceabstract class的区别

    Interfaceabstract class都是对事物的抽象,语法区别就是类只能单继承,接口可以多继承。JDK1.8以前接口不能有方法的实现,1.8接口可以有个默认的方法实现。
    abstract class 的父类和子类是is a的关系,接口和实现类是is like a关系。
    个人理解,abstract class是对同类事物的抽象,interface可以对不同类事物进行抽象。

    参考:
    What Is an Interface?
    深入理解abstract class和interface

    相关文章

      网友评论

      本文标题:Java 接口

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