JavaSE

12.对象的转型

2019-02-23  本文已影响0人  null_meng

1.向上转型

2.向下转型

什么是向上转型?

向上转型------将子类的对象赋值给父类的引用

Student s = new Student();

Person p = s;

堆内存中一个对象,栈内存中两个引用

一个引用能够调用哪些成员(变量和函数),取决于这个引用的类型

为什么使用向上转型?

减少重复代码

当一个父类下的许多子类都需要一个方法时,只需要在父类中写这个方法,然后在主程序中用向上转型调用父类的这个方法,通过新建子类的对象找到对应的子类。达到所有的子类都可以使用这个方法的目的,而不需要在所有的子类中编写这个方法,减少了重复代码的出现

什么是向下转型?

向下转型------将父类的对象赋给子类的引用

Student s1 = new Student();

Person p = s1;

Student s2 = (Student)p;

堆内存中一个对象,栈内存中三个引用

在进行向下转型时一定要强制转换保证向下转型的准确性,开发中一定要慎用向下转型

为什么使用向下转型?

开发应用时经常需要子类进行向上转型,在向上转型时往往会丢失子类一部分东西,这时我们使用向下转型时,可以把子类丢失的那部分东西拿回来

上一篇 下一篇

猜你喜欢

热点阅读