接口知识点补充一

--------------------------------------------------接口部分-------------------------------------------------------

package school.test;
// 定义了一个接口
public interface Funcitons {
    // 接口中定义了四个静态常量【static final关键字可省略,不写默认为加上】
    static final int A = 65;
    static final int B = 66;
    static final int C = 67;
    static final int D = 68;
    // 接口中定义了四个抽象方法 【public abstract关键字可省略,不写默认为加上】,在C语言中称为:声明方法。
    public abstract void doSomething1();
    public abstract void doSomething2();
    public abstract void doSomething3();
    public abstract void doSomething4();
    // 静态方法
    public static void characterOne() {
        System.out.println("这是jdk1.8新特征:接口中可存在静态方法【不可重写】");
    }
    // 实例方法(默认方法)
    public default void characterTwo() {
        System.out.println("这是jdk1.8新特征:接口中可存在实例方法【可重写】");
    }
}
--------------------------------------------------接口实现部分-------------------------------------------------------

package school.test;
/**
 *     实现了Funcitons接口。充当着一个重要角色:适配器
 *     理解:适配器【Adapter】:选择指定接口中的某个方法进行重写。
 *     前提:接口中存在一个以上的方法。
 *     实现者:一个抽象方法实现某个接口中的所有方法,方法进行空实现。【空实现:方法体中没有任何语句。】
 * */
public abstract class AbstractFunctions implements Funcitons{
    // 以下重写的四个方法在C语言中称为:定义方法。
    // 重写了 Funcitons 中的 doSomething1方法,进行方法空实现。
    public void doSomething1() {
    }
    // 重写了 Funcitons 中的 doSomething2方法,进行方法空实现。
    public void doSomething2() {
    }
    // 重写了 Funcitons 中的 doSomething3方法,进行方法空实现。
    public void doSomething3() {
    }
    // 重写了 Funcitons 中的 doSomething4方法,进行方法空实现。
    public void doSomething4() {
    }
}
--------------------------------------------------调用者部分-------------------------------------------------------

package school.test;
// 调用者
public class People extends AbstractFunctions{
    
    public static void main(String[] args) {
        People people = new People();
        System.out.println(Funcitons.A);
        System.out.println(Funcitons.B);
        System.out.println(Funcitons.C);
        System.out.println(Funcitons.D);
        // 调用接口中的静态方法
        Funcitons.characterOne();
        // 调用接口中的实例方法
        people.doSomething1();
    }
    // 只重写了doSomething1方法
    @Override
    public void doSomething1() {
        System.out.println("重写之后的--->doSomething1方法");
    }
}

-------------------------------------------接口进一步理解提升(联系实际)---------------------------------------

/*
 *    进一步补充接口知识点一:
 *     例如:手机充电(充电器、手机充电接口、电源)
 *     接口:手机的充电接口【typy-a、typy-b、typy-c、Lightning类型的驱动】。
 *     实现者:各大充电器生产厂商【支持某些类型的驱动】。
 *     调用者:用户。【第一步:先使用充电器插到手机的充电口上【绑定驱动】;第二步:再将充电器插到电源上。】
 *     总结:手机各大厂商指定接口【协议】,而各大充电器厂商【支持某些协议】。
 * 
 *     注册【绑定】驱动:充电器支持哪些协议【接口】,例如:手机充电口与充电器连接。
 *     注销【清除】驱动:体现了接口的易插拔性,例如:手机充电口与充电器不连接。
 * 
 *     手机充电口【接口】坏了的三种情况:
 *         第一种:从硬件上换一个新的充电口。
 *         第二种:从软件上换一个新的驱动。
 *         第三种:其它情况维修充电口或者更新或降级驱动。【不建议的】
 *     手机充电器【实现者】坏了的三种情况:
 *         第一种:从硬件上换一个同类型同品牌的充电器。
 *         第二种:从软件上换一个同类型不同品牌的充电器。
 *         第三种:其它情况维修充电器或者更新或降级充电器。【不建议的】
 * 
 *     充分体现了接口的易插拔性 和 解耦合性。
 *     解耦合性:我一定就需要这种充电口,你也不定需要这种充电器。只要我们共同遵守一个【协议】即可。
 *     在我们以后的编程中常用到的三种编程思维模式:
 *         第一种:面向抽象思维模式。【耦合度较低】
 *         第二种:面向对象思维模式。
 *         第三种:面向过程思维模式。【耦合度较高】
 *         类:抽象的;对象:具体的。
 *     接口可以解耦合并且提升了扩展力。
 * */

注:若有不懂的或者对接口有疑问的可以提出到评论框,有时间会给各位解答每一道问题。尽自己有限知识为你们解答。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值