zoukankan      html  css  js  c++  java
  • Java


    在程序的开发中,需要完成两个数的求和运算和比较运算功能的类非常多。那么可以定义一个接口来将类似的功能组织在一起。下面创建一个示例,具体介绍接口的实现方式。



    1)创建一个名称为 IMath 的接口,代码如下:

    1 public interface IMath {
    2     public int sum();    // 完成两个数的相加
    3     public int maxNum(int a,int b);    // 获取较大的数
    4 }
     

    2)定义一个 MathClass 类并实现 IMath 接口,MathClass 类实现代码如下:

     1 public class MathClass implements IMath {
     2     private int num1;    // 第 1 个操作数
     3     private int num2;    // 第 2 个操作数
     4     public MathClass(int num1,int num2) {
     5         // 构造方法
     6         this.num1 = num1;
     7         this.num2 = num2;
     8     }
     9     // 实现接口中的求和方法
    10     public int sum() {
    11         return num1 + num2;
    12     }
    13     // 实现接口中的获取较大数的方法
    14     public int maxNum(int a,int b) {
    15         if(a >= b) {
    16             return a;
    17         } else {
    18             return b;
    19         }
    20     }
    21 }
     

    在实现类中,所有的方法都使用了 public 访问修饰符声明。无论何时实现一个由接口定义的方法,它都必须实现为 public,因为接口中的所有成员都显式声明为 public。



    3)最后创建测试类 NumTest,实例化接口的实现类 MathClass,调用该类中的方法并输出结果。该类内容如下:

    1 public class NumTest {
    2     public static void main(String[] args) {
    3         // 创建实现类的对象
    4         MathClass calc = new MathClass(100, 300);
    5         System.out.println("100 和 300 相加结果是:" + calc.sum());
    6         System.out.println("100 比较 300,哪个大:" + calc.maxNum(100, 300));
    7     }
    8 }
     

    4)程序运行结果如下所示。

    100 和 300 相加结果是:400
    100 比较 300,哪个大:300



    总结:在该程序中,首先定义了一个 IMath 的接口,在该接口中只声明了两个未实现的方法,这两个方法需要在接口的实现类中实现。在实现类 MathClass 中定义了两个私有的属性,并赋予两个属性初始值,同时创建了该类的构造方法。因为该类实现了 MathClass 接口,因此必须实现接口中的方法。在最后的测试类中,需要创建实现类对象,然后通过实现类对象调用实现类中的方法。


    Note:
    欢迎点赞,留言,转载请在文章页面明显位置给出原文链接
    知者,感谢您在茫茫人海中阅读了我的文章
    没有个性 哪来的签名!
    详情请关注点我
    持续更新中

    © 2020 11 - Guyu.com | 【版权所有 侵权必究】

  • 相关阅读:
    HashMap和HashSet的区别
    安卓坐标
    android MotionEvent中getX()和getRawX()的区别
    android 布局之滑动探究 scrollTo 和 scrollBy 方法使用说明
    register_chrdev_region/alloc_chrdev_region和cdev注册字符设备驱动
    将JZ2440的调试串口换成com2
    pcl点云文件格式
    C++中的迭代器
    C++中的vector
    “标准差”
  • 原文地址:https://www.cnblogs.com/guyu-/p/13898154.html
Copyright © 2011-2022 走看看