zoukankan      html  css  js  c++  java
  • [javaSE笔记6]接口

    Interface

    接口的定义和介绍

    接口 (interface) 就是多个类的公共规范

    接口是一种引用数据类型, 最重要的内容就是其中的 : 抽象方法

    定义一个接口的格式 :

    public interface 接口名称 { }

    接口中可以包含的内容有 :

    1. 常量
    2. 抽象方法

    Java8后可以额外包含 :

    1. 默认方法

    2. 静态方法

    Java9后可以包含 :

    1. 私有方法

    接口中的抽象方法的修饰符必须是 : public abstarct

    public interface MyInterface01 {
    
        public abstract void method01();
        public abstract void method02();
    }
    

    也可以省略不写 ( 默认就是public abstract ) :

    public interface MyInterface01 {
    
        void method01();
    	void method02();
    }
    

    接口的实现与使用

    接口不能直接使用, 必须有一个"实现类"来实现该接口

    格式 : public class 类名 implements 接口名 { }

    接口的实现类必须覆盖重写 ( 实现 ) 接口中所有的抽象方法, 除非实现类就是抽象类

    接口 :

    public interface MyInterface01 {
    
        void method01();
        void method02();
        int  method03();
    }
    

    实现类 :

    public class demo01 implements MyInterface01 {
    
        @Override
        public void method01() {
            System.out.println("method01");
        }
    
        @Override
        public void method02() {
            System.out.println("method02");
        }
    
        @Override
        public int method03() {
            return 0;
        }
    }
    

    使用 :

    public static void main(String[] args) {
            demo01 demo = new demo01();
            demo.method01();
            demo.method02();
            demo.method03();    
       }
    

    默认方法

    可以直接在接口中定义, 实现类不需要覆盖重写 ( 也可以覆盖重写, 在使用时如果没有重写, 就会向上查找 )

    public interface MyInterface01 {
    
        void method01();
        void method02();
        
        public default void methodDefault() {	// 默认方法
            ...
        }
    }
    

    静态方法

    public interface MyInterface01 {
    
        void method01();
        void method02();
        
        public static void methodStatic() {	// 默认方法
            ...
        }
    }
    

    注意 : 静态方法不可以通过接口实现类的对象来调用, 而应该通过接口名称, 直接调用其中的静态方法

    正确的调用 : MyInterface01.methodStatic()

    私有方法

    1. 普通私有方法
    2. 静态私有方法

    解决接口内部重复代码的问题

    常量

    接口当中的常量, 定义必须使用 public static final 进行修饰( 可省略 ), 必须赋值

    常量的推荐命名方式 : 使用完全大写, 并且使用下划线进行分隔

    几个注意事项

    1. 接口是没有静态代码块或者构造方法的
    2. 一个类的直接父类是唯一的, 但是一个类可以同时实现多个接口
    public class XX implements interfaceA, interfaceB { }
    
    1. 如果实现类所实现的多个接口当中, 存在重复的抽象方法, 那么只需要覆盖重写一次
  • 相关阅读:
    为函数的参数指定类型
    装饰器函数导致的原函数的元数据被替代--保存元数据
    ssm单项目整合
    security权限控制
    springAOP学习笔记
    springIOC学习笔记
    springDataJpa学习笔记
    springmvc学习笔记
    原生mybaits学习笔记
    java反射和注解
  • 原文地址:https://www.cnblogs.com/roccoshi/p/13190646.html
Copyright © 2011-2022 走看看