考虑将变量avar声明为
Set avar;
然后,我初始化为
avar= new HashSet();
现在,如果我出这个avar班......
System.out.println("class----->"+avar.getClass());
System.out.println("class name--->"+avar.getClass().getName());
System.out.println("class--super name--->"+avar.getClass().getSimpleName());
System.out.println("is interface--->"+avar.getClass().isInterface());
输出结果为:
class----->class java.util.HashSet
class name--->java.util.HashSet
class--super name--->HashSet
is interface--->false
是否可以将变量类型设为Set ....
我的意思是预期出局是Set ........
答案 0 :(得分:4)
变量的类型为Set
。变量引用的值的对象类型为HashSet
。
如果您只获得值,则无法获取变量的类型(例如,如果方法接收此值作为参数)。
这可以追溯到你之前的问题 - 我仍然不清楚你真的理解我的答案......