代码改变世界

面向对象深入:继承06——对象的上转型

2018-01-16 16:03  Jolene_Wu  阅读(207)  评论(0编辑  收藏  举报

11.7 对象的上转型——子类可以赋值给父类

对象的转型是指具有继承关系的类之间可以出现对象转型。

父类型和子类型之间也可以赋值。

  • 子类的对象可以直接赋值给父类的对象——称之为向上转型对象。
  • 通过强制类型转换,也能将父类对象赋值给子类对象。
public class Example1111
{
    public static void main(String[] args)
    {
        SuperClass sp;
        SonClass sc = new SonClass();
        sp = sc;        //对象的上转型
        sp.out();
        sc.out(3);
     }
}
class SuperClass
{
    public void out()
    {
        System.out.println("SuperClass");
    }
}
class SonClass extends SuperClass
{
    public void out(int i)
    {
        System.out.println("SonClass"+i);
    }
}

输出:SuperClass

   SonClass3

子类可以赋值给父类,父类开辟空间并有了子类所拥有的方法和变量的初始值