我定义了 2 个对象
在 Object-1 中,当我引用子对象时,它会调用子方法 m1(),而在 Object-2 中,当我引用子方法 m1() 时,它会引用 Parent 对象。
在这两种情况下,我假设父对象将在运行时保存一个子类型对象......
对象-1
package pkgB;
class Parent{
static int i = 10;
void m1(){
System.out.println("In Parent = " + i);
}
static void m1(String s){
System.out.println(s +i );
}
}
public class Child extends Parent{
static int i = 20;
void m1(){
System.out.println("In child" + Child.i);
}
public static void main(String[] args){
Parent p = new Child();
p.m1();
}
}
对象-2
package pkgB;
class Drink{
public static void m1(){
System.out.println("Im Drink method");
}
}
class Coffee extends Drink{
public static void m1(){
System.out.println("Im Coffee method");
}
}
public class test {
public static void main(String[] args) {
Drink d = new Coffee();
d.m1();
}
}
输出 Dobject-1:
In child20
输出 Dobject-2:
Im Drink method