1
我正在開發一個web開發項目,並且正在使用「新聞提要」功能處理多個應用程序。我想確保每張帶有圖片的項目都會來回切換,以便左右圖片交替顯示,即使其中的某些項目沒有圖片。所以,我創建了一個接口:實用程序方法需要接口並且不接受實現上述接口的類
public interface TextWithImageTile {
public abstract String getOrientation() ;
public abstract void setOrientation(String orientation) ;
}
現在,我所有的「新聞提要」實現該接口,無論每個人使用的任何自定義字段中使用的新聞項目。所以,我早就預料到能夠實例化這個工具類來處理實現該接口的項目清單:
public class AlignmentAssigner {
List<TextWithImageTile> listToAssign ;
public AlignmentAssigner(List<TextWithImageTile> list) {
this.listToAssign = list ;
}
public void alignList() {
for (TextWithImageTile listItem : listToAssign) {
...
}
}
}
但是現在,當我試圖把它HomeItem類的列表 - 它實現TextWithImageTile接口 - 它抱怨類型不匹配。這裏的實現:
List<HomeItem> homeItems = homeDAO.getHomeItems();
AlignmentAssigner alignmentAssigner = new AlignmentAssigner(homeItems);
我被告知,「構造函數AlignmentAssigner(List)是未定義的。」我在這裏有交叉路口嗎?是否有可能讓一個方法處理特定接口的所有實現,只要它只被要求操作由該接口定義的字段和方法?如果是這樣,如何 - 或者我的代碼中需要更改什麼?