什么是Java别名?
别名意味着一个位置可以更新多个别名,并且这些别名具有不同的类型。
在下面的示例中,a和b是两个具有两个不同类型A和B的变量名称。B扩展了A。
B [ ] b = new B [ 10 ] ;
A [ ] a = b ;
a [ 0 ] = new A ();
b [ 0 ]。methodParent ();
在内存中,它们都指向相同的位置。
指向的存储位置由a和b指向。在运行时,存储的实际对象确定要调用的方法。
Java如何处理别名问题?
如果将此代码复制到eclipse中,将没有编译错误。
class A {
public void methodParent() {
System.out.println(“method in Parent”);
}}
class B extends A {
public void methodParent() {
System.out.println(“override method in Child”);
}
public void methodChild() {
System.out.println("method in Child");
}}
public class Main {
public static void main(String[]