我是Java的新手,所以我可能在這裏錯過了一些東西 - 我在其他線程中四處看了一下,但是我沒有發現任何與我的問題非常相似的東西。我知道私有變量不是由子類繼承的。這個問題,我有,爲什麼超();在我的子構造函數中識別我的基構造函數中的字段?它是父類的構造函數是公共的嗎?並且即使它傳遞的變量是私有的,子構造函數也會識別它們並將它們傳遞給它們。任何澄清將不勝感激。私有變量和繼承構造函數
父類:
public abstract class BaseQuestion {
private String questions;
private float totalAttempts;
private float averageTime;
private float percentCorrect;
public BaseQuestion(String questions, float totalAttempts, float averageTime, float percentCorrect){
this.questions = questions;
this.totalAttempts = totalAttempts;
this.averageTime = averageTime;
this.percentCorrect = percentCorrect;
}
子類:
public class TrueFalseQuestion extends BaseQuestion{
public static int questionsCreated;
public TrueFalseQuestion(String question, float totalAttempts, float averageTime, float percentCorrect){
super(question, totalAttempts, averageTime, percentCorrect);
}
編譯器給了我上述任何錯誤,它混淆了我有點...
謝謝
您在調用super()時沒有引用基類的私有變量。您正在重新獲得派生類的構造函數的參數。參數和實例變量是不同的並且不相交。 – 2012-08-12 23:58:28