• 【Java基础】接口(1)接口的定义、使用


    接口就是多个类的公共规范;

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

    【定义接口格式】:interface关键字声明接口

      public interface 接口名称{

          接口内容

      }

      定义接口示例:

    /*
    
    注意事项:
    1、接口当中的抽象方法,修饰符必须是两个固定的关键字 public abstract
    2、这两个关键字修饰符,可以选择性地省略
    3、方法的三要素,可以随意定义
    
     */
    public interface MyInterfaceAbstract {
    
        //抽象方法
        public abstract void methodAbs();
    
        abstract void methodAbs2();
    
        public void methodAbs3();
    
        void methodAbs4();
    }

    【备注】:

    Java版本不同,接口中可包含内容不同

      Java 7:常量、抽象方法

      Java 8增加:默认方法、静态方法

      Java 9增加:私有方法

    【接口的使用步骤】:

    1、接口不能直接使用(复习,抽象类也不能直接使用),必须是一个[实现类]来“实现”该接口,关键字:implements

        实现类格式:

        public class 实现类名称 implements 接口名称{

          ...

        }

    2、接口的实现类必须覆盖重写(实现)接口中所有的抽象方法(注意:如果没有全部重写,实现类自身必须是抽象类)

        覆盖重写(实现)格式:去掉abstract关键字,补全方法体大括号

    3、创建实现类的对象,通过对象来使用接口

      实现类示例:

    public class MyInterfaceAbstractImpl implements MyInterfaceAbstract {
    
        @Override
        public void methodAbs() {
            System.out.println("这是第一个方法");
        }
    
        @Override
        public void methodAbs2() {
    
        }
    
        @Override
        public void methodAbs3() {
    
        }
    
        @Override
        public void methodAbs4() {
    
        }
    }

      上述接口的使用示例:

    public class Demo01Interface {
    
        public static void main(String[] args) {
            //错误写法,不能直接new接口对象使用
            //MyInterfaceAbstract inter = new MyInterfaceAbstract();
    
            //创建实现类的对象使用
            MyInterfaceAbstractImpl impl = new MyInterfaceAbstractImpl();
            impl.methodAbs();
            impl.methodAbs2();
        }
    }

     小结:

      1、接口不能被实例化

      2、接口中的方法是抽象方法,但是 abstract 可以省略;

      3、接口的实现类必须将接口中的所有方法 都 实现(重写);

         4、接口中的属性:int x = 0 ; 等价于 public static final x = 0;

    万丈高楼平地起。
  • 相关阅读:
    python unittest单元测试框架-3用例执行顺序、多级目录、装饰器、fixtures
    python unittest单元测试框架-2discover
    python unittest单元测试框架-1
    python selenium-4自动化测试模型
    python selenium-9 grid模式
    20)PHP,数组的遍历
    19)PHP,数组知识
    18)PHP,可变函数,匿名函数 变量的作用域
    17)PHP,函数基础和参数问题
    16)PHP, set_include_path
  • 原文地址:https://www.cnblogs.com/jcl226/p/13137966.html
Copyright © 2020-2023  润新知