Java是一門強類型語言,其中使用模版類和接口可以提高代碼的復(fù)用性和擴展性。
模版類是一種通用類,其中的數(shù)據(jù)類型可以設(shè)置為任何類型,實現(xiàn)了泛型編程。在定義模版類時,需要在類名后加上尖括號,尖括號內(nèi)是數(shù)據(jù)類型參數(shù)。例如:
public class MyStack<T> { private T[] stack; private int top; public MyStack() { stack = (T[]) new Object[10]; top = -1; } public void push(T item) { stack[++top] = item; } public T pop() { return stack[top--]; } public boolean isEmpty() { return (top == -1); } }
在上述代碼中,MyStack<T>中的T就是數(shù)據(jù)類型參數(shù),表示可以使用任意數(shù)據(jù)類型。
接口是一種沒有實現(xiàn)方法的抽象類,可以看做一種規(guī)范。在聲明接口時,需要使用interface關(guān)鍵字。例如:
public interface Fruit { String getName(); }
在上述代碼中,F(xiàn)ruit就是一個接口,其中定義了一個getName方法。通過實現(xiàn)接口,可以達到多繼承的效果。例如:
public class Apple implements Fruit { public String getName() { return "Apple"; } } public class Banana implements Fruit { public String getName() { return "Banana"; } }
在上述代碼中,Apple和Banana都實現(xiàn)了Fruit接口,因此可以使用getName方法。