zoukankan      html  css  js  c++  java
  • 接口的探究

    第一次用 markdown (^-^)V 试试手

    1、接口的概念

    特殊的抽象类

    2、接口的特点

    1、实现了类的多继承
    2、解耦合
    3、增加了程序的通用性

    3、接口与抽象类的区别

    类别 属性 方法
    抽象类 可以不赋值 1、作为父类,可以有其他方法2、作为子类,继承关键字为extends(单继承类,多继承接口) 3、其实现的子类,为public
    接口 必须赋值 1、作为父类,必须是抽象方法(abstract可省略)2、作为子类,继承关键字:implements(可多继承接口)3、其实现的子类,为public

    最后贴上练习代码君:

    package com.jacob.javase;
    
    /*
     * 接口:
     * 1.概念:
     * 接口是特殊的抽象类
     * 2.关键字
     * 3.好处:
     * 3.1 增加了程序的通用性
     * 3.2 实现了特殊的多继承:
     * 例如: 1.手机可以分为拍照手机和通用手机
     *      2.照相机可以分为单反照相和数码照相
     *      3.那照相又可以分为拍照手机和照相机
     * 3.3 解耦合
     * 
     */
    // 2.1 Interface:代替class的书写//
    // 注意点:接口中全是抽象方法且 abstract可忽略不写
    interface MyIntf1 {
        // 属性必须初始化(抽象类不需要)
        int id = 1;
        String name = "xieji";
    
        public void m1();
    
        void m2();
    }
    
    // 2.2.1 extends :接口可以继承接口;相当于并集——不需要覆写父类接口的方法
    // 2.2.2 接口可以多继承接口(不能继承类)
    // 2.2.3 注意点:子类是接口的时候:关键字只能使用extends
    // 子类是类的时候,关键字只能使用implements
    interface MyIntf2 extends MyIntf1 {
        void m3();
    }
    
    // 2.3 implements:类继承接口:类可多继承接口
    public class InterfaceTest implements MyIntf2 {
        // 2.3.1 需要覆写继承接口的全部方法且访问修饰符必须是public
        public void m1() {
            System.out.println("覆写m1");
        }
    
        public void m2() {
            System.out.println("覆写m2");
        }
    
        public void m3() {
            System.out.println("覆写m3");
        }
    
        public static void main(String[] args) {
            // 实例化找其子类
            MyIntf1 a = new InterfaceTest();
    
        }
    }
    
  • 相关阅读:
    OpenCV中threshold函数的使用
    opencv中namedWindow( )函数
    Open CV leaning
    RGB颜色表
    visual studio 2015 Opencv4.0.1配置
    uint16_t
    Arduino重置-复位问题
    bzoj1823 [JSOI2010]满汉全席(2-SAT)
    bzoj2208 [Jsoi2010]连通数(scc+bitset)
    UVAlive3713 Astronauts(2-SAT)
  • 原文地址:https://www.cnblogs.com/xieji233/p/6155634.html
Copyright © 2011-2022 走看看