所有Java中的对象都是Object的子类。所以子类是可以直接转换为父类。但是,Object这个父类,并不是只有一个int类型。所以父类是不能转换为子类的。举一个生动的例子:狗是动物,所以所有狗都是动物。狗的集合也是动物的集合。但是,动物不全都是狗啊。所以不能反向转换。
int是基本数据类型,但java提供了对于的包装类Integer。换句话说int可以转换为Integer。因为Integer是个类,所以父类是Object.所以obj=a是可以的。
objcet包含所有的类型,a能转成obj。obj能强转a,但包含非int型会报错