在很多项目中会用到java的interface做参数的情况。
用interface做参数有两个好处。
1.使用interface做参数的函数可以接受不同的类对象,只要不同的类都实现了相同的interface.
2.编写函数的只考虑函数的实现逻辑,不用考虑传递进来的参数对应的内部实现。
下面是一个例子。
NodeList nl = new Test1(); //Using Test1
<pre name="code" class="java"> NodeList nl = new Test2(); //Using Test2
min_max_printer (nl); void min_max_printer(NodeList node) { System.out.println("MAX=" + node.getMax()); System.out.println ("MIN=" + node.getMin()); } class Test1 implements NodeList<Integer>{ @Override public Integer getMax() { return 1919; } @Override public Integer getMin() { return 1111; } } class Test implements NodeList <String>{ @Override public String getMax() { return "99999"; } @Override public String getMin() { return "00000"; } } interface NodeList<T>{ T getMax(); T getMin(); }