• java接口


    接口的概念比较简单 我们在家里也经常见到
    比如我们的充电口
    无论什么厂家生成的接口 都可以正常使用
    因为 接口是有规范的
    这里我们先建一个包 然后建一个测试类
    在这里插入图片描述
    然后右键包
    在这里插入图片描述
    选择新建 java class
    不过这里我们要选择 Interface
    命名为rowInsert 名字你可以和我不一样
    在这里插入图片描述
    这样 一个接口就建好了
    在这里插入图片描述
    我们给rowInsert写一个抽象方法
    参考代码如下

    public interface rowInsert {
        public abstract void charge();
    }
    
    • 1
    • 2
    • 3

    充电方法 charge 之前我们说过 抽象类可以写正常方法 但接口是不行的
    在这里插入图片描述
    可以看到 写正常方法 接口直接就会报错
    接口中 只能有抽象方法

    然后我们新建一个java类 叫 Apple 名称可以和我不一样
    我们在其中编写代码

    public class Apple implements rowInsert {
    
    }
    
    • 1
    • 2
    • 3

    类通过implements 实现接口 但这样就报错了
    在这里插入图片描述
    和抽象类同理 继承抽象类就必须重写抽象类中所有的抽象方法 接口也需要实现自己的类重写自己所有的抽象方法
    Apple 类参考代码如下

    public class Apple implements rowInsert {
        public void charge(){
            System.out.println("充电");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    我们重写 charge后就一切正常了
    text测试类参考代码如下

    public class text {
        public static void main(String args[]) {
            rowInsert r = new Apple();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    我们要实例化 rowInsert 接口 实现他的是Apple类 因为接口是抽象的 不能被直接实例化 必须通过一个实现他的类来实例化接口对象
    这里我们有一个rowInsert 接口 Apple实现了rowInsert接口 然后 text测试类 通过Apple类实例化了rowInsert接口

    然后 我们通过实例化出来的对象 r来调用接口中的方法
    将text代码改成

    public class text {
        public static void main(String args[]) {
            rowInsert r = new Apple();
            r.charge();
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    运行结果如下
    在这里插入图片描述
    我们可以看到 确实想也很简单

    实例化接口 必须要一个实现他的类
    因为你直接调他的抽象方法 那他哪知道你要执行什么 但你通过实现的类实例化他 那就是 你通过接口的抽象方法 调用 实现类的具体方法

  • 相关阅读:
    70. 爬楼梯
    Redis八股文目录
    【无标题】
    Springboot下RedisTemplate的两种序列化方式
    【SpringBoot】一文了解SpringBoot热部署
    数仓工具—Hive进阶之查询最佳实践(19)
    高并发下的缓存击穿、雪崩、穿透和分布式锁(三)
    【CUDA OUT OF MEMORY】【Pytorch】计算图与CUDA OOM
    从0搭建vue3组件库: 如何完整搭建一个前端脚手架?
    vue 与 swiper结合使用时,swiper效果失效
  • 原文地址:https://blog.csdn.net/weixin_45966674/article/details/126066407