假设我有以下方法: -有一个方法参数作为“对象”型
public static void abhay(Object a){
....
}
和我的地方像这样使用: -
public static void main(String[] args){
...
Kaal b = new Kaal();
abhay(b);
...
}
其中Kaal
是一类,显然。
现在,方法abhay
内的a
的类类型(编译时的对象类型)是什么?换句话说,在编译器的眼里,当方法abhay
里面有什么类a
?
另外,以上与以下不同?
(因为我们只改变abhay
定义): - 。
public static void abhay(Kaal a){
....
}
“Java是永远‘通话按值’而不是对象,只有参考的对象,传递作为一个论点,这里的参考是价值。“
如果上述事实与这个问题的答案有任何相关性,请尝试在上述事实的背景下解释。
'”的......我的地方像这样使用: - .. “' - 而且不会编译 –
你发布的代码不会编译,因此很难回答你 - 这已经够难了,因为你的问题不是很清楚。但是在第一种情况下,'a'的编译时类型是'Object',你会发现如果你试图使用'Kaal'中声明的任何方法... –
这将是一个对象。欢迎您投下并检查它的类型,尽管 –