4
第一篇文章很溫柔。 :)我不知道我在這裏做錯了什麼,希望有人能幫助我。用額外的方法實現Java接口實現類
我有一個實現List接口的類。這個類也有它自己的方法,如果它不在列表中,它只會將一個項目添加到列表中。問題是,當我嘗試使用我的conditionalAdd方法時,出現錯誤,指出它找不到我的方法,因爲它正在WorkflowSubType類中查找它。請看下面:
當我實例化我使用的是類:
List<WorkflowSubType> currentViolations = new Violations();
這是一個實現List接口的我類的定義:
import java.util.*;
public class Violations<E> implements List<E>{
public Violations() {}
public void conditionalAdd(E violation){
if(violation != null)
if(!this.contains(violation))
add(violation);
}
@Override
public <T> T[] toArray(T[] a) {
return null;
}
@Override
public boolean add(E e) {
return false;
}
@Override....
那麼怎麼來的,我可以」 t訪問conditionalAdd方法。我創建的currentViolations對象是一個List,但它也是一個Violations類型。我說得對嗎?
在此先感謝。
RW
您將需要將您的實例轉換爲Violations。如果你不這樣做,編譯器將其解釋爲List,而List沒有'conditionalAdd'方法。像這樣做:'((Violations)currentViolations).conditionalAdd(whatever);' –
Viccari
完美。謝謝 – RalphW
我會添加一個答案。所以其他人可能會從中受益。如果您認爲它有幫助,請接受/ upvote它。 – Viccari