zoukankan      html  css  js  c++  java
  • 十一、接口


    1.接口的概念
    初期理解:可以认为接口是一种特殊的抽象类,特殊之处:如果一个抽象类中的方法全部是抽象方法,Java中将该类使用接口来表示
    接口是抽象方法的集合

    2.接口的使用
    1>定义
    语法:
    类的定义:使用class关键字
    访问权限修饰符 class 类名{
    }
    接口的定义:使用interface关键字
    访问权限修饰符 interface 接口名{
    }

    思考:在同一个Java文件中,public修饰了一个类,还修饰了一个接口,Java文件名和类名保持一致,编译可以通过吗?
    答案:接口在底层还是按照类来处理的,所以不管是类还是接口,在同一个Java文件中,被public修饰的最多只能有一个,而且java文件名必须和public修饰的保持一致

    3.接口的使用【见代码InterfaceUsageDemo01】

    //演示接口的使用
    class InterfaceUsageDemo01 
    {
        public static void main(String[] args) 
        {
            //2.接口类似于抽象类,不能实例化对象
            // 错误: SuperClass是抽象的; 无法实例化
            //SuperInter sc = new SuperInter();
    
            SubImp si = new SubImp();
            si.show1();
            si.show2();
            si.show3();
        }
    }
    
    //1.接口的定义
    interface SuperInter
    {
        //6.定义成员变量
        //默认是一个常量,修饰符是固定的:public static final
        int num = 10;
        
        //7.不能构造方法
        /*
        public SuperInter() {}
        public SuperInter(int num) {
            this.num = num;
        }
        */
    
        //5.接口中的方法默认都是抽象方法,默认修饰符是固定,是public abstract,在实现类中实现方法的时候,
        //为了满足重写的规则,修饰符一定是public
        void show1();
        abstract void show2();
        public void show3();
    }
    
    //3.如果一个类想要使用接口中的方法,使用实现完成,使用implements关键字表示
    //把实现了接口的类称为实现类
    class SubImp implements SuperInter
    {
        //实现方法:仍然遵循重写规则
        //4.如果要保证实现类是一个普通类【可以实例化对象】,必须实现接口中的所有的抽象方法
        @Override
        public void show1() {
    
        }
        @Override
        public void show2() {
    
        }
        @Override
        public void show3() {
    
        }
    }

    4.接口的实现和类之间的关系
    类与类之间的关系是继承关系,类与接口之间的关系是实现关系

    如果一个类要使用另外一个类中的方法,则继承,使用extends关键字
    如果一个类要使用一个接口中的方法,则实现,使用implements【实现了接口的类称为实现类】

    注意事项:
    a.实现类需要实现接口中的所有的抽象方法,才能实例化对象去调用方法,如果只实现了部分,则实现类是一个抽象类

    b.一个类能同时实现多个接口【多实现】,多个接口之间使用逗号隔开【实现类中就必须实现所有接口中所有抽象方法】
    c.一个类能在继承了一个类的同时,还可以实现接口,但是,必须继承在前,实现在后
    d.接口和接口之间的关系是继承,而且是多继承【注意区分类的继承】


    总结:
    1>接口的特点
    a.接口是对外暴露的规则
    b.接口是对程序功能的扩展
    c.接口可以用来多实现
    d.类与接口之间是实现关系,而且类在继承其他类的同时可以实现多个接口
    e.接口和接口之间的关系是继承,而且是多继承


    2>类,接口之间的关系以及特点
    a.类与类之间是继承,单继承
    b.类与接口之间是实现,多实现
    c.接口与接口之间是继承,多继承

    3>接口和抽象类的区别
    a.抽象类是用于继承,而且是单继承
    接口是用于实现,而且是多实现
    b.在抽象类中可以定义普通方法,可以直接提供给子类使用
    接口中的方法全部是抽象方法

  • 相关阅读:
    <转>Java 高并发综合
    <转>Spring 知识点提炼
    qqq
    ttt
    工作中的那些坑(2)——逆波兰表达式
    工作中的那些坑(1)——一次过滤存量数据的优化过程
    Java学习笔记
    《代码大全》笔记(一)
    由Cocos2d-x工程入口窥见代理模式
    makefile
  • 原文地址:https://www.cnblogs.com/lsp-lsp/p/7343925.html
Copyright © 2011-2022 走看看