给出下列【代码】注释标注的代码的输出结果。 interface Com { int computer(int m,int n); } class A implements Com{ public int computer(int a,int b){ return a+b; } } class B implements Com{ public int computer(int a,int b){ return a*b; } } class People { int a,b; int handleDigit(Com com){ return com.computer(a,b)/2; } } public class E { public static void main(String args[]){ People p = new People (); p.a =100; p.b = 2; int m = p.handleDigit(new A()); int n = p.handleDigit(new B()); System.out.printf("%d:%d",m,n);//【代码】 } }
时间: 2024-01-12 08:04:57 浏览: 101
avr-mega16外部中断int0和int1的详细代码注释和仿真.zip
该代码的输出结果为:
```
101:100
```
解释如下:
该代码定义了一个接口 `Com`,其中包含了一个抽象方法 `computer`,用于计算两个整数。接着定义了两个类 `A` 和 `B`,它们都实现了接口 `Com` 中的 `computer` 方法,分别用于计算两个整数的和和积。然后定义了一个类 `People`,其中包含了两个整数 `a` 和 `b`,以及一个 `handleDigit` 方法,该方法接受一个 `Com` 接口的实现类对象 `com`,调用 `com` 的 `computer` 方法计算 `a` 和 `b` 的结果,然后将结果除以 2 并返回。最后在 `main` 方法中,首先创建了一个 `People` 类的对象 `p`,并将 `a` 设置为 100,`b` 设置为 2。然后分别调用 `p` 对象的 `handleDigit` 方法,传入一个 `A` 类的实例和一个 `B` 类的实例,得到了两个结果。最终使用 `System.out.printf` 方法将这两个结果格式化输出,分别用冒号隔开,得到了输出结果 `101:100`。
阅读全文