这里是我的代码如何通过调用方法访问主叫对象的成员在JAVA
class Base
{
public void fillRandomData()
{
//code for accessing members for sub classes
//here object "b" is calling this method
//I want to access members of caller object
//As it is Derived class how can I access its member
}
}
class Derived extends Base
{
Map<String, List<Integer>> fields = new HashMap<String,List<Integer>>();
List<Integer> attribute = new ArrayList<Integer>();
public Derived() {
attribute.add(1);
fields.put("textbox",attribute);
}
}
class Main
{
public static void main(String[] argv) {
Base b = new Base();
**b.fillRandomData();**
}
}
上面的代码解释了我的问题。 我在访问调用者对象成员stucked 我认为回顾将有所帮助但它并没有帮助我很多。
在ruby中有方法“instance_variable_get(instance_var)”,它允许访问调用者对象的数据成员。
目前尚不清楚你的意思主叫对象成员什么。上面的代码不能编译。也许你可以更详细地描述你实际上想要做什么?或者发布你正在编写的实际代码,而不是伪代码? – Joeblade 2014-11-06 12:54:51
好的,你想从Base部分的代码访问实例Derived部分的成员?这不是建议的做法。尽管如此,还是有办法的。 – Joeblade 2014-11-06 12:57:59
@Joeblade调用者对象的成员表示调用该方法的对象。 在这种情况下,_b.fillRandomData()_“b”是对象我想在此方法中访问“fillRandomData()”中的“b”的成员。 – 2014-11-07 06:01:23