java中的新关键字

pra*_*abh 3 java inheritance

java新手,仍然在努力使用新的关键字和继承:

public class A1 {
    void a_method (){
        System.out.println("Inside A1 method");
    }
}
Run Code Online (Sandbox Code Playgroud)
public class A2 extends A1{
    void a_method(){
        System.out.println("Inside A2 method");
    }
}
Run Code Online (Sandbox Code Playgroud)
public class TestA1A2 {

    public static void main(String[] args) {

        A1 a1 = new A1();
        A1 a2 = new A2();  //not sure if it created object of A1 or A2
        A2 a3 = new A2();

        a1.a_method();
        a2.a_method();
        a3.a_method();

    }
}
Run Code Online (Sandbox Code Playgroud)

我正在努力理解新关键字,如果在上面的代码中:

A1 a2 = new A2();  //not sure if it created object of A1 or A2
Run Code Online (Sandbox Code Playgroud)

将a2作为A1或A2的对象?从输出我可以看到它调用A2的方法,但我真的没有得到新的关键字.并且当A2延伸A1时,是否可以调用A1的方法?

Thi*_*rry 5

A1 a2 = new A2(); 
Run Code Online (Sandbox Code Playgroud)

此代码创建一个A2对象,但您只能使用a2访问A1类的方法.如果A2中的方法被覆盖,则调用A2的方法.