gpt4 book ai didi

Java:父类(super class)中私有(private)变量的初始化

转载 作者:行者123 更新时间:2023-11-30 10:45:48 25 4
gpt4 key购买 nike

父类(super class)中在构造函数外初始化的私有(private)变量在子类中能否正确继承?

例如,在下面的代码中,私有(private)实例变量x是否会在子类中正确继承?我知道只有在 Rectangle 中定义的 2 个公共(public) getter 才能在 Square 子类中访问 x 和 y。但是,如果x是在构造函数外初始化的,子类还能成功继承x吗?

public class Rectangle
{
private int x = 0;
private int y;
protected double height;
protected double length;

public Rectangle(double length, double height)
{
this.height = height;
this.length = length;
y = 0;
}

public int getx()
{
return x;
}

public int gety()
{
return y;
}
}


public class Square extends Rectangle
{
public Square(double side)
{
super(side, side);
}
}

最佳答案

是的,它可以毫无问题地继承。如果在构造函数中没有赋值,你最终会得到默认值,因为它是一个实例成员。

Object的默认值为null,每个primitive都有自己的默认值。

关于Java:父类(super class)中私有(private)变量的初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36853181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com