public class A {
private hashtable<String,B> map = new hashtable<String,B>();
protected class B {
public String id;
public int c = -1;
public B(String id,int c) {
this.id =id;
this.c = c;
}
public void test(String id,int c) {
if(map.containsKey(id)) {
map.get(id).c = c;
}
}
}
}
这里的 map.get(id).c是什么意思?以类B为value,那么get获得的是B类对象??
直接调用c 是因为内部类的关系??
private hashtable<String,B> map = new hashtable<String,B>();
protected class B {
public String id;
public int c = -1;
public B(String id,int c) {
this.id =id;
this.c = c;
}
public void test(String id,int c) {
if(map.containsKey(id)) {
map.get(id).c = c;
}
}
}
}
这里的 map.get(id).c是什么意思?以类B为value,那么get获得的是B类对象??
直接调用c 是因为内部类的关系??
map.get(id)取得的是值,即B
而B中的c是public 的
故可以直接调用
既然是B类的实例/对象,就可以直接用这个对象调用c属性(c属性是public的,所以给你访问)。