浅谈将子类对象赋值给父类对象

发表于:2007-06-22来源:作者:点击数: 标签:
下一页 1 2 3 4 最近对将子类对象赋值给父类对象有点心得,想和大家分享一下.但本人水平有限,请各位指正和批评. 言归正传,下面是几个小例子,请大家看一看. 测试 一 父类: public class Supclass { public void print() { System.out.println("this is 父类pr

下一页 1 2 3 4 

   

  最近对将子类对象赋值给父类对象有点心得,想和大家分享一下.但本人水平有限,请各位指正和批评.
  言归正传,下面是几个小例子,请大家看一看.
  
  测试


  父类:


  public class Supclass
  {
  public void print()
  {
  System.out.println("this is 父类print()方法"+"——此时对象"+this.toString());
  }
  }


  子类:


  public class Subclass extends Supclass
  {
  public static void main(String[] args)
  {
  Supclass sup=new Subclass();
  sup.print();
  System.out.println("此时对象"+sup.toString());
  }
  }


  结果:this is 父类print()方法——此时对象是Subclass@126b249
  此时对象是Subclass@126b249

  说明:
  Supclass sup=new Subclass();
  虽然声明的对象是父类对象,但实际的内存空间是子类对象的。
  继承父类的方法public void print()被调用,输出的是子类对象名字解析。

  结论:编译时声明的对象是父类对象,但运行时却是子类对象.子类没有重写父类的方法,则此  时的对象调用继承父类的方法。

  测试二

  父类:


  public class Supclass
  {
  public void print()
  {
  System.out.println("this is 父类print()方法"+"——此时对象"+this.toString());
  }
  }






原文转自:http://www.ltesting.net