• Java基础00-接口组成更新31


    1. 接口组成更新

    1.1 接口组成更新概述

       

      

    1.2 接口中默认方法

      
    代码示例:

    需求:

    • 1:定义一个接口MyInterface,里面有两个抽象方法:

      void show1();
      void show2();

    • 2:定义接口的实现类:

      MyInterfaceImpl

    • 3:定义测试类:

      MyInterfaceDemo
      在主方法中,按照多态的方式创建对象并使用
    接口MyInterface:

    //1:定义一个接口MyInterface,里面有两个抽象方法:
    //        void show1();
    //        void show2();
    public interface MyInterface {
        void show1();
    
        void show2();
        
        //default默认方法,可以使实现类不用实现该方法。
        //还可以直接定义方法内容
        default void show3() {
            System.out.println("One show3");
        }
    }

    定义接口的实现类:

    //2:定义接口的实现类:
    //MyInterfaceImpl
    public class MyInterfaceImpl implements MyInterface {
    
        @Override
        public void show1() {
            System.out.println("One show1");
        }
    
        @Override
        public void show2() {
            System.out.println("One show2");
        }
        
        //实现类中并没有实现show3方法,但是也没有报错。    
    }

    定义测试类:

    //3:定义测试类:
    //MyInterfaceDemo
    //在主方法中,按照多态的方式创建对象并使用
    public class MyInterfaceDemo {
        public static void main(String[] args) {
            MyInterface my = new MyInterfaceImpl();
            my.show1();
            my.show2();
    
            // 如果想要添加一个新的接口方法,但是别的实现类又不要实现它,怎么办?
            // 在接口中使用default
            my.show3();
        }
    }

    运行结果:

      

    show3方法也可以被重写这里就不写示例了。

    1.3 接口中静态方法

      
    代码示例:

    需求:

    • 1:定义一个接口Inter,里面有三个方法:一个是抽象方法,一个是默认方法,一个是静态方法

      void show();
      default void method(){ }
      public static void test(){ }

    • 2:定义接口的一个实现类:

      InterImpl

    • 3:定义测试类:

      InterDemo
      在主方法中,按照多态的方式创建对象并使用
    接口Inter

    //1:定义一个接口Inter,里面有三个方法:一个是抽象方法,一个是默认方法,一个是静态方法
    //void show();
    //default void method(){ }
    //static void test(){ }
    public interface Inter {
        void show();
    
        default void method() {
            System.out.println("Inter 中的默认方法执行了");
        }
    
        static void test() {
            System.out.println("Inter 中的静态方法执行了");
        }
    }

    实现类InterImpl

    //2:定义接口的一一个实现类:
    //InterImpl
    public class InterImpl implements Inter {
    
        @Override
        public void show() {
            System.out.println("show方法执行了");
        }
    }

    测试类:

    //3:定义测试类:
    //InterDemo
    //在主方法中,按照多态的方式创建对象并使用
    public class InterDemo {
        public static void main(String[] args) {
            Inter i = new InterImpl();
            i.show();
            i.method();
            // 接口中的静态方法只能由类名调用,这样的为了防止一个实现类实现两个接口,但是两个接口中又有同名称的静态方法。
    //        i.test();
            Inter.test();
        }
    }

    运行结果:

    1.4 接口中私有方法

      

  • 相关阅读:
    Serverless 解惑——函数计算如何安装字体
    构建安全可靠的微服务 | Nacos 在颜铺 SaaS 平台的应用实践
    OAM v1alpha2 新版:平衡标准与可扩展性
    人工智能与阅读能力的关系研究
    Java Web每天学之Servlet的原理解析
    ThreadLocal类的简单使用
    JavaScript之DOM创建节点
    css浮动(float)及清除浮动的几种实用方法
    Apache Sentry部署
    Spark机器学习解析下集
  • 原文地址:https://www.cnblogs.com/ajing2018/p/14685427.html
Copyright © 2020-2023  润新知