当前位置: 首页 > 知识库问答 >
问题:

使用子对象Java访问父字段

仇承志
2023-03-14

我的背景是C,在那里我们可以使用子类对象访问父类的公共字段。示例:

#include <iostream>
class A{
    public:
        void show(){
            std::cout << "A";
        }
};
class B:public A{
    public:
        void show(){
            std::cout << "B";
        }
};
int main(){
    B obj;
    obj.A::show(); // it will print A.
}

如何在Java继承中实现同样的功能?

public class Serial {
    public void show(){
        System.out.println("Serial");
    }
}
public class Testing extends Serial
{   
    @Override
    public void show(){
        System.out.println("Testing");
    }
    public static void main(String[] args){
        Testing obj=new Testing();
        obj.show(); // it print Testing but how to Print Serial?
    }

}

我还有另一个关于覆盖的问题,但由于Stackoverflow规则,我将作为单独的问题提问。

那么,使用子类对象引用打印/访问Java的父类方法的语法应该是什么?我尝试了。obj.super.show();等,但不工作。

共有1个答案

郝承悦
2023-03-14

super只能在类中与一起使用。不在它之外。

既然你是除草剂,你就不能直接调用超级方法。

你只被允许做

obj.show();

如果您仍然想要调用超级方法,您可以将您的方法修改

 @Override
    public void show(){
        super.show();
        System.out.println("Testing");
    }

更新:

转到父级和子级重写返回类型,

这篇文章可能会有所帮助

http://codeinventions.blogspot.in/2014/11/covariant-contravariant-and-class-invariant-example-and-difference-in-java.html

 类似资料:
  • 问题内容: 就像是 这是我想象的格式,但事实并非如此。什么会退回到对象的父级? 问题答案: JavaScript本身不提供此功能。而且我怀疑您是否可以创建这种类型的功能。例如: 鲍比属于谁?

  • 问题内容: 看一下这个例子: 如何从子对象中访问随机对象? 问题答案: 让类将自己的实例传递给该类。 经典Occam剃刀。

  • 本文向大家介绍JavaScript中子对象访问父对象的方式详解,包括了JavaScript中子对象访问父对象的方式详解的使用技巧和注意事项,需要的朋友参考一下 在传统面向对象的编程语言里,都会提供一种子类访问父类的特殊语法,引文我们在实现子类方法往往需要父类方法的额外辅助。在这种情况下,子类通常会调用父类中的同名方法,最终以便完成工作。 javascript虽然没有类似上述的特殊语法,但我们可以造

  • 问题内容: 如何使用jQuery访问父窗口对象? 这是我的父窗口变量,我想在关闭子窗口后设置其值。 问题答案:

  • 问题内容: 问题答案: 你不能 JavaScript中没有向上关系。 举个例子: 现在,单个数组对象具有两个“父级”。 您可以做的是:

  • 我有一个场景,下面是超类:- 我正在使用每子类表策略使用一个鉴别器下面是容器的hbm映射:- 下面是FieldParent的hbm映射:- java.sql.SqlSyntaxerRoreXception:ora-00904:“FieldParent1_3_”.“TypeOFSub”:无效标识符