我目前沒法把我的新的子類來編譯:「構造專輯類專輯不能適用於不同類型的」
public class CompilationAlbum extends Album {
private String seriesOfAlbums;
public CompilationAlbum(String seriesOfAlbums) {
this.seriesOfAlbums = seriesOfAlbums;
albumType = "Compilation";
}
}
任何人都可以指出我在做什麼錯?錯誤似乎在於構造函數,但我不明白爲什麼會導致錯誤。該錯誤消息還顯示「實際和正式的參數列表長度不同」。
編輯:Album類,減去方法,看起來是這樣的:
import java.util.ArrayList;
public class Album {
private String name;
private ArrayList<Track> trackList;
private int length;
private int fileSize;
private double averageRating;
private String albumType;
public Album(String name){
this.name = name;
trackList = new ArrayList<Track>();
}
繼續談論如何設置名稱,我不會認爲私人領域是一個「問題」。假設有公共或受保護的get/set方法,通常最好使用這些(即this.setName(name))而不是直接修改字段。在這裏看到一些討論:http://stackoverflow.com/questions/2279662/java-protected-fields-vs-public-getters – Shaun 2014-11-05 19:01:27