如何从子类的子类获取在超类中实例化的对象的字段

时间:2016-10-05 17:07:18

标签: java inheritance encapsulation getter-setter superclass

我需要获取在超类中实例化的对象的字段。问题是我需要从超类的两个级别的子类中获取它,也就是说,我在类SingleChart中扩展SingleTable,它本身扩展了TemplateReport类。 TemplateReport实例化private Report对象。 Report有公共吸气者和二传手。我想检索height的{​​{1}}字段。 有没有办法直接从ReportSingleChart

执行此操作

2 个答案:

答案 0 :(得分:1)

私有实例变量由子类继承。

因此,如果TemplateReport生成一个Report对象,并且Report有getter和setter。您可以通过调用getter从任何子类获取Report对象,然后询问您需要的值。

答案 1 :(得分:0)

TemplateReport需要一个公共的getReport()方法,以便您可以从子类访问报表实例。如果您不想允许访问该实例,那么您可以使用允许访问的特定方法:

public int getReportHeight() {

return report.height;
}