Java 这两种创建对象的方法有什么不同吗
我刚学过java。我正在摆弄这两种创建对象的方法之间的差异Java 这两种创建对象的方法有什么不同吗,java,Java,我刚学过java。我正在摆弄这两种创建对象的方法之间的差异 public class A { } public class B extends A { } public static void main(String[] args){ A object = new B(); B object = new B(); } 让我们用下面的例子来理解它 在类A中,我们添加了一个getMethodofA()。因此,将引用变量创建为A或B并不重要。作为一个超类,getMetho
public class A {
}
public class B extends A {
}
public static void main(String[] args){
A object = new B();
B object = new B();
}
让我们用下面的例子来理解它
这是一个很好的例子。你能添加一些文本(你自己的,或者从一个教程中引用的,等等)并用引文来解释这个例子吗?虽然实际的规则是每个B都是A,因此我们可以调用A的方法,即使声明的类型是B,但根据经验我们可能很清楚,这可能仍然会让OP和其他读者感到困惑。
public class A {
public void getMethodofA(){
System.out.println("I am method A")
}
}
public class B extends A {
public void getMethodofB(){
System.out.println("I am method B")
}
}
public static void main(String[] args){
A objectA = new B();
objectA.getMethodofA();//No error
objectA.getMethodofB();//Compile time error
B objectB = new B();
objectB.getMethodofA();//No error
objectB.getMethodofB();//No error
}