在java中获取子属性

时间:2012-11-10 15:03:58

标签: java

是否可以在java中的main方法中从子类访问属性? 例如,在扩展类中,我有一个属性高度和方法:

 public String getName()
 {
 return name;
 }

但是我无法从main方法访问该名称。 感谢。

2 个答案:

答案 0 :(得分:1)

您必须创建内部Child类的实例以获取其name字段,因为main方法为static

public class Parent {

    class Child {
        String name;

        public String getName() {
            return name;
        }
    }

    public static void main(String[] args) {
        String name = new Parent().new Child().getName();
    }
}

getName()本身不能声明为static,因为静态方法只能在静态或顶级类型中声明。

答案 1 :(得分:0)

名称是私人会员吗?您只能访问Main中任何类的公共成员(无论它是基类还是子类)。

如果您没有访问该成员但访问方法getName本身,那么
如果在基类中未将name定义为private,则getName()应该有效。如果它是其他任何东西 - 受保护的,公共的或默认的包声明,那么它应该可以工作。