java get属性仅存在于子类中

java get属性仅存在于子类中,java,Java,//不带大小写getChildObject()到Child对象。我不能做child.getSomething()我可以做类似于parent.getProperty(“某物”)的事情吗获取值?正确的方法是: class Parent { } class Child extends parent { String something; //get and set } Parent parent = getChildObject(); 您也可以使用,但这要复杂得多。当然,use可以始终使

//不带大小写
getChildObject()
Child
对象。我不能做
child.getSomething()我可以做类似于
parent.getProperty(“某物”)的事情吗
获取值?

正确的方法是:

class Parent {

}

class Child extends parent {

 String something;
//get and set
}


Parent parent = getChildObject();

您也可以使用,但这要复杂得多。

当然,use可以始终使用反射。但是它会很慢。

一般来说,你试图做的不是一个好主意,你应该尽量避免。如果没有办法,那么nfechner提供的答案就是正确的。

我不确定我是否理解这个问题。但无论如何,这通常是通过在超类中声明一个抽象方法并让子类提供它们自己的实现来实现的。比如说,

if (parent instanceof Child) {
    String something = ((Child) parent).getSomething();
}

重要的是要注意,这将要求超类是抽象的。

如果结果是
父类
不是
子类
的实例,您希望它做什么?
abstract class Foo{
    abstract String getString();
}

class Bar extends Foo{
    @Override
    String getString(){
        return "bar";
    }
}