class Inh1{
public String s ="inh1";
public void print(){
System.out.println(s);
}
}
class Inh2 extends Inh1{
public String s ="inh2";
// public void print(){
// System.out.println(s);
// }
} public class Main {
public static void main(String[] args) {
Inh2 i2 =new Inh2();
i2.print(); //明明这个是i2这个对象调用从父类那里继承来的方法,可为什么输出的是Inh1里面的s呢
//如果把上面的注释去掉,那么怎么输出的才会是inh2呢?
}
}
public String s ="inh1";
public void print(){
System.out.println(s);
}
}
class Inh2 extends Inh1{
public String s ="inh2";
// public void print(){
// System.out.println(s);
// }
} public class Main {
public static void main(String[] args) {
Inh2 i2 =new Inh2();
i2.print(); //明明这个是i2这个对象调用从父类那里继承来的方法,可为什么输出的是Inh1里面的s呢
//如果把上面的注释去掉,那么怎么输出的才会是inh2呢?
}
}
注释去掉 输出的不是inh2吗?
前面// public void print(){
// System.out.println(s);
// }
这里的inh2中的print方法注释掉了,所以print方法没有被重载,当然就是打印出inh1