面向接口编程练习

面向接口编程练习

  • 接口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的值。
// 接口A有一个int f(int a, int b)方法
interface A{
    int f(int a,int b);
}

//B类实现接口A,重写f()方法,返回a+b;
class B implements A{
    @Override
    public int f(int a, int b) {
        return a + b;
    }
}

//C类实现接口A,重写f()方法,返回a*b;
class C implements A{
    @Override
    public int f(int a, int b) {
        return a * b;
    }
}

//D类提供show(A p,int a,int b)方法以接口A的变量为参数,打印f()方法的返回值
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);
    }
}

//测试类,用D类生成对象,对象调用show()方法分别以B类对象作为参数和以C类对象作为参数得到1+2及1*2的值。
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
posted @ 2021-07-09 20:28  SKPrimin  阅读(34)  评论(0编辑  收藏  举报