美文网首页
Java接口不同版本之间的变动

Java接口不同版本之间的变动

作者: 你好宝宝 | 来源:发表于2020-07-17 20:11 被阅读0次

本文所使用的demo来自https://www.geeksforgeeks.org/private-methods-java-9-interfaces/

Java接口

一直到jdk7之前,接口中只能包含两个内容,

  • 常量
  • 抽象方法
// Java 7 program to illustrate 
// private methods in interfaces 
public interface TempI { 
    public abstract void method(int n); 
} 

class Temp implements TempI { 
    @Override
    public void method(int n) 
    { 
        if (n % 2 == 0) 
            System.out.println("geeksforgeeks"); 
        else
            System.out.println("GEEKSFORGEEKS"); 
    } 

    public static void main(String[] args) 
    { 
        TempI in1 = new Temp(); 
        TempI in2 = new Temp(); 
        in1.method(4); 
        in2.method(3); 
    } 
} 

jdk8允许在接口中增加default方法以及static方法,因此接口中可以包含4类数据

  • 常量
  • 抽象方法
  • static方法
  • default方法
// Java 8 program to illustrate 
// static, default and abstract methods in interfaces 
public interface TempI { 

    public abstract void div(int a, int b); 

public default void
    add(int a, int b) 
    { 
        System.out.print("Answer by Default method = "); 
        System.out.println(a + b); 
    } 

    public static void mul(int a, int b) 
    { 
        System.out.print("Answer by Static method = "); 
        System.out.println(a * b); 
    } 
} 

class Temp implements TempI { 

    @Override
    public void div(int a, int b) 
    { 
        System.out.print("Answer by Abstract method = "); 
        System.out.println(a / b); 
    } 

    public static void main(String[] args) 
    { 
        TempI in = new Temp(); 
        in.div(8, 2); 
        in.add(3, 1); 
        TempI.mul(4, 1); 
    } 
} 

jdk9中引入的私有方法以及私有静态方法,因此接口中可以包含6类数据

  • 常量
  • 抽象方法
  • static方法
  • default方法
  • private方法
  • private static方法
// Java 9 program to illustrate 
// private methods in interfaces 
public interface TempI { 

    public abstract void mul(int a, int b); 

public default void
    add(int a, int b) 
    { 
// private method inside default method 
        sub(a, b); 

// static method inside other non-static method 
        div(a, b); 
        System.out.print("Answer by Default method = "); 
        System.out.println(a + b); 
    } 

    public static void mod(int a, int b) 
    { 
        div(a, b); // static method inside other static method 
        System.out.print("Answer by Static method = "); 
        System.out.println(a % b); 
    } 

    private void sub(int a, int b) 
    { 
        System.out.print("Answer by Private method = "); 
        System.out.println(a - b); 
    } 

    private static void div(int a, int b) 
    { 
        System.out.print("Answer by Private static method = "); 
        System.out.println(a / b); 
    } 
} 

class Temp implements TempI { 

    @Override
    public void mul(int a, int b) 
    { 
        System.out.print("Answer by Abstract method = "); 
        System.out.println(a * b); 
    } 

    public static void main(String[] args) 
    { 
        TempI in = new Temp(); 
        in.mul(2, 3); 
        in.add(6, 2); 
        TempI.mod(5, 3); 
    } 
} 

相关文章

  • Java接口不同版本之间的变动

    本文所使用的demo来自https://www.geeksforgeeks.org/private-methods...

  • java的跨平台与原理

    java通过 不同系统,不同版本的,不同位数的java虚拟机,来屏蔽不同的系统指令集差异,而对外提供统一的接口j...

  • 微服务版本的定义

    微服务架构中,往往由不同的团队负责不同的微服务,微服务之间还存在版本依赖关系。并且微服务发布频率会很快,版本变动很...

  • docker打开api remote接口设置

    本文记录docker怎么打开api remote接口设置,docker的版本更新太快了,不同的版本之间,设置可能不...

  • The Javafx runtime is not config

    因为使用Java版本的OpenCV,真的是见识过了一下java不同版本之间的问题。这里是对这个JavaFX问题的解...

  • Wormhole发布正式版0.1.0

    版本升级变动 修改部分RPC接口 修复RPC接口的BUG 增加集成测试 WHC 的Token精度 增加gitian...

  • 【Dart】类与方法-抽象类/接口/混入/泛型

    接口 接口在Dart中就是一个类(只是用法不同)与java不同,java中的接口需要interface关键字声明;...

  • Android不同版本之间的不同

    1)兼容性参考:https://www.jianshu.com/p/c3ba4e3b2f0a 其中指出,从系统版本...

  • Wormhole协议规范0.0.6

    版本升级变动 修改了对外RPC接口中 WHC的单位0.0.6以前,RPC的部分接口,对于WHC金额的显示,以C为单...

  • JavaWeb(1)

    1.简介 JDBC接口:Java代码和数据库之间交互的规则Servlet接口:服务器软件和Java代码之间交互的规...

网友评论

      本文标题:Java接口不同版本之间的变动

      本文链接:https://www.haomeiwen.com/subject/bienhktx.html