2、按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口方法时,要求计算n的阶乘(n!); (4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现接口的类。
时间: 2024-02-07 11:02:10 浏览: 97
InterfaceA.java:
```java
public interface InterfaceA {
int method(int n);
}
```
ClassA.java:
```java
public class ClassA implements InterfaceA {
@Override
public int method(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
return sum;
}
}
```
ClassB.java:
```java
public class ClassB implements InterfaceA {
@Override
public int method(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}
```
E.java:
```java
public class E {
public static void main(String[] args) {
InterfaceA a = new ClassA();
System.out.println("1到n的和:" + a.method(5)); // 输出:1到5的和:15
InterfaceA b = new ClassB();
System.out.println("n的阶乘:" + b.method(5)); // 输出:5的阶乘:120
}
}
```
测试类E中,通过接口回调的形式来测试实现接口的类ClassA和ClassB。在main方法中,先创建一个InterfaceA类型的对象a,并将其引用指向ClassA的实例。然后调用a的method方法,输出1到5的和。接下来,创建一个InterfaceA类型的对象b,并将其引用指向ClassB的实例。再次调用b的method方法,输出5的阶乘。
阅读全文