我有一些我无法遵循的Java代码。两个类ClassA
和ClassB
,结构如下:
ClassA {
void setName() {
this.name = name;
}
String getName() {
return name;
}
void writeFunction(Object value) {
String v = value.toString();
}
}
和
ClassB extends ClassA {
...
writeFunction( getName() );
...
}
我没见过没有对象引用的getter方法,所以我不确定这里发生了什么。 getName()
只能引用ClassA.getName()
。我的理解是方法不能作为Java中的参数传递,这意味着writeFunction()
的参数必须是方法的结果,可能是this.getName
?
任何人都可以做出有根据的猜测,猜测这里发生了什么?如果这意味着什么,则涉及JavaBeans和JSP标记库。
修改:为代码添加了详细信息
答案 0 :(得分:2)
从定义它的类中调用实例方法在当前实例上调用它(即this
)。在这里,您在当前getName()
对象上调用ClassB
(该方法继承自超类ClassA
),然后将返回的值传递给writeObject
。 / p>