java - 我可以像在 C# 中一样访问 Java 中的 super 属性吗?

标签 java

所以,我正在开发一个项目,我试图让子类的属性返回父类(super class)的值。

IE

public class Parent
{
   BaseType m_Type;
}

public class Child extends Parent
{
   BaseType m_Type
   {
      return super.m_Type;
   }
}

本质上,这就是我在 C# 中使用的模式。然而,这在 Java 中似乎不起作用,所以我想知道是否有类似的方法来完成同样的任务。如果没有,没什么大不了的,我只是创建我想的方法。看起来很粗糙。

最佳答案

可以,但成员需要受到保护或公开:

class Test
{
    public static void main (String[] args) throws java.lang.Exception
    {   
        B b = new B();
        b.print();
    }

    public static class A {
        protected int member = 1;
        public void print(){
            System.out.println("A: "+member);
        }
    }

    public static class B extends A {
        protected int member = 2;
        public void print(){
            super.print();
            System.out.println("B: "+member);
            System.out.println("C: "+super.member);
        }
    }
}

A: 1

B: 2

C: 1

关于java - 我可以像在 C# 中一样访问 Java 中的 super 属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33901448/

相关文章:

java - 从列表中删除对象和迭代器问题

java - 我可以将 long 类型的一维数组元素类型转换为 int 吗?

java - 如何为 JWS 应用程序添加库?

java - 在程序运行后,如何将原始用户输入显示到最终输出中?

java - 尝试播放 AudioClip 时出现 NullPointerException

java - 如何在 Hibernate 映射文件中表达可序列化 Blob 类型

java.lang.NoClassDefFoundError

java - 在ANDROID SQLite中,是否可以在不将其设置为主键的情况下进行自动增量

java - Firebase 未将文件上传到存储桶

java - Java教程中提到的 "type"是什么?