java - 为什么可以在父类(super class)构造函数中调用子类对象的私有(private)方法......?

标签 java

class ParentClass
{    
    double height;
    public ParentClass()
    {
       height=10;
       System.out.println("this : "+this.getClass().getName());
       showHeight();
    }
    private void showHeight()
    {
        System.out.println("Height is : "+height);
    }
}

class ChildClass extends ParentClass
{    
    double weight;
    public ChildClass(double weight)
    {
        this.weight=weight;
    }
}

public class CallingPrivateMethod
{    
    public static void main(String arg[])
    {
        ChildClass childObj=new ChildClass(32.65);
    }
}

这将打印以下内容:

这个:子类

高度为:10.0

最佳答案

您没有从子类调用私有(private)方法;它由父类(super class)(ParentClass)在其构造函数中调用,而该构造函数又由子类调用。这与基类调用私有(private)方法的任何其他时间没有什么不同。

关于java - 为什么可以在父类(super class)构造函数中调用子类对象的私有(private)方法......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34456910/

相关文章:

java - Reg 替换文本 block 第一次出现 + 最后一次出现

java - Android ImageView 的过渡效果

java - FirebaseError 异常电子邮件/密码身份验证

java - 从一个面板类绘制到另一个面板类。

java - 我应该如何在 spring 数据存储库上使用@Cacheable

java - 使用 spring 数据存储库和 mongodb 设置 spring 应用程序

java - 运行基于 servlet 的 Web 项目时出现 SSL 证书警告

java - Google识别器和pocketsphinx在两个不同的类中,如何循环它们?

java - 自定义数据结构(元素+权重)

java - int binarySearch 数组列表