问问: package com.wsy; class B { } public class A { public static void main(String[] args){ B b = new B(); Class c =b.getClass(); System.out.print(b.getClass().getName()); } }结果是:com.wsy.B b.getClass()产生一个b的Class对象(是new B()?)然后代码有Class c =b.getClass();相当于Class c =new B()这是如何实例化的,这好像不是向上转型啊?望高手详解谢
我认为并未有CLASS C实例 只是指向CLASS B 罢了。
Class c =b.getClass(); object c still hold the reference of b.
package com.wsy;
class B {
}
public class A {
public static void main(String[] args){
B b = new B();
Class c =b.getClass();
System.out.print(b.getClass().getName());
}
}结果是:com.wsy.B
b.getClass()产生一个b的Class对象(是new B()?)然后代码有Class c =b.getClass();相当于Class c =new B()这是如何实例化的,这好像不是向上转型啊?望高手详解谢
object c still hold the reference of b.