java - 如何在子类中访问父类(super class)的 protected 方法?

标签 java inheritance access-modifiers

我在两个不同的包中有父子类。我正在重写 protected 类型的方法。我想访问子类中的父类(super class) protected 方法。

考虑下面的代码:

package package1;

public class Super
{
    protected void demoMethod()
    {
        System.out.println("In super method");
    }
}

package package2;

import package1.Super;

public class Sub extends Super
{
    @Override
    protected void demoMethod()
    {
        System.out.println("In sub method");
    }

    public static void main(String[] args) 
    {
        //code for accessing superclass demoMethod to print "In super method"
    }
}

在子类的主方法中,我想访问父类(super class)demoMethod,它打印“In super method”。我知道使用父类(super class)对象引用调用 demoMethod 从子类中看不到 demoMethod。

可不可以?如果是,怎么办?

考虑我是 Java 新手,并提供替换主方法中注释的答案。

最佳答案

在子类中使用super.demoMethod()或者只是从子类中将其完全删除

关于java - 如何在子类中访问父类(super class)的 protected 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44934623/

相关文章:

c++ - 从 parent 到 child 的 dynamic_cast 问题

Java 变量中多种类型的通配符

c# - 什么样的访问修饰符可以应用于类?

java - 在Java中将消费者用作设置者,将供应商用作获取者是不好的做法吗?

java - 有没有一种方法可以在不反射的情况下从不同的运行时包访问 protected 类成员?

java - 使用箭头键

Java mac os x dock 应用程序名称设置不起作用?

c++ - 防止派生类强制转换为基类

java - 如何使用其他值对 Java 中的 Map<String, String> 中的日期进行排序

java - 已发出连接错误信号的 PooledConnection 仍在使用中