Java 私有变量和继承的构造函数

Java 私有变量和继承的构造函数,java,inheritance,constructor,private,super,Java,Inheritance,Constructor,Private,Super,我是Java新手,所以我可能在这里遗漏了一些东西——我在其他线程中查找过,但没有找到任何与我的问题非常相似的东西。我知道私有变量不是由子类继承的。我现在的问题是,为什么超人会这样做;在我的子构造函数中,是否识别基构造函数中的字段?父类中的构造函数是公共的吗?即使它所传递的变量是私有的,子构造函数也会识别它们并传递它们?如有任何澄清,将不胜感激 父类: public abstract class BaseQuestion { private String questions; private f

我是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(question, totalAttempts, averageTime, percentCorrect); 
在这行代码中,所有变量名都引用子类中的参数。它们的值被传递给基类构造函数,然后基类构造函数将它们分配给私有变量。混淆可能是因为参数和私有变量的名称相同。然而,你必须小心你指的是哪一个。这是施工人员的常见做法


在这行代码中,所有变量名都引用子类中的参数。它们的值被传递给基类构造函数,然后基类构造函数将它们分配给私有变量。混淆可能是因为参数和私有变量的名称相同。然而,你必须小心你指的是哪一个。这是构造函数的常见做法。

子类中的构造函数没有“识别”超类中的字段,它接收到一些参数,这些参数恰好与超类中的属性同名,但它们在原则上是不同的。它们被分配到超类的字段,因为您正在调用
super()
来访问超类的构造函数,仅此而已。

子类中的构造函数没有“识别”超类中的字段,它接收到的一些参数恰好与超类中的属性同名,但它们在原则上是不同的。它们被分配到超类的字段,因为您正在调用
super()
来访问超类的构造函数,仅此而已。

您在调用super()时没有引用基类的私有变量。您正在引用派生类的构造函数的参数。参数和实例变量不同且不相交。在对super()的调用中没有引用基类的私有变量。您正在引用派生类的构造函数的参数。参数和实例变量不同且不相交。