面向接口编程练习
- 接口A有一个int f(int a, int b)方法
- B类实现接口A,重写f()方法,返回a+b;C类实现接口A,重写f()方法,返回a*b;
- D类提供show(A p,int a,int b)方法以接口A的变量为参数,打印f()方法的返回值
- 测试类,用D类生成对象,对象调用show()方法分别以B类对象作为参数和以C类对象作为参数,得到1+2及1*2的值。
interface A{
int f(int a,int b);
}
class B implements A{
@Override
public int f(int a, int b) {
return a + b;
}
}
class C implements A{
@Override
public int f(int a, int b) {
return a * b;
}
}
class D{
public int showb(int a,int b2){
B b = new B();
return b.f(a,b2);
}
public int showc(int a,int b){
C c = new C();
return c.f(a,b);
}
}
public class MainTest8 {
public static void main(String[] args) {
D d = new D();
System.out.println("B: "+d.showb(1,2));
System.out.println("C: "+d.showc(1,2));
}
}
B: 3
C: 2