子类:
| public class Subclass extends Supclass { public void print() { System.out.println("this is 子类print()方法"+"——此时对象"+this.toString()); } public static void main(String[] args) { Supclass sup=new Subclass(); sup.print(); System.out.println("此时对象"+sup.toString()); } } |
结果:this is 子类print()方法——此时对象是Subclass@126b249 此时对象是Subclass@126b249 说明: 我在上个例子的基础上,重写了父类的print()方法,此时的调用的是子类的print()方法。 结论:在上个例子结论的基础上,我得到了一个结论:此时对象运行时确实子类对象,如果子类没有从写父类的方法, 则此时的对象调用继承父类的方法;否则,此时的对象调用子类方法. 问题: 我们是不是可以从上面的测试得到的这样结论: 将子类对象赋值给父类对象(即Supclass sup=new Subclass()), 我们得到的就是子类对象,即sup就是子类对象??????
测试三
父类:
| public class Supclass { protected String className="父类属性"; public void print() { System.out.println("this is 父类print()方法"+"——此时对象"+this.toString()); } } |
子类:
| public class Subclass extends Supclass { protected String className="子类属性"; public void print() { System.out.println("this is 子类print()方法"+"——此时对象"+this.toString()); |
|