java接口作为参数的方法的使用

接口作为参数的方法的使用

方法内直接用接口形参调用方法


public class InterfaceText {
	public void say(InterfaceA f) {
		System.out.println(f.method());
	}
	public static void main(String[] args) {
		InterfaceA f = new ClassA(2);   //对象的多态,向上转型
		InterfaceText t = new InterfaceText();
		t.say(f);
		InterfaceA x = new ClassB(2);
		t.say(x);
	}
}

interface InterfaceA {            //自定义InterfaceA接口
	abstract int method();
}

class ClassA implements InterfaceA {   //自定义ClassA类实现Interface接口,并重写method方法
	private int n;

	ClassA(int n) {
		this.n = n;
	}

	public int method() {      //重写方法
		int sum = 0;
		for (int i = 1; i < n + 1; i++) {
			sum += i;
		}
		return sum;
	}
}
class ClassB implements InterfaceA {  // 自定义ClassB类实现InterfaceA接口并重写method方法
	private int n;

	ClassB(int n) {
		this.n = n;
	}

	public int method() {     //重写方法
		int product = 1;
		for (int i = 1; i < n + 1; i++) {
			product *= i;
		}
		return product;
	}

}

你可能感兴趣的:(java接口作为参数的方法的使用)