什么是Java别名(aliasing) 别名意味着有多个别名指向同一个位置,且这些别名有不同的类型. 在下面的代码例子中,a和b是两个不同的名字,有不同的类型A和B,B继承A B[] b = new B[10]; A[] a = b; a[0] = new A(); b[0].methodParent(); 在内存中,它们指向了同一个位置,如下: 内存中的该位置同时被a和b指向,在运行期间,方法的调用由实际存储的对象来决定. Java是如何处理别名问题的 如果你拷贝以下代码到你的浏览器,会发现没…