A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

是怎么访问的呢,

6 个回复

倒序浏览
比如.Student继承Person类,向下转型就是多态:Person p=new Student( );向下转型就是 Student s=( Student)p;
然后可以用s.方法名调用,子类的特有方法,当然也可以不用s来接受,也是就匿名的对象,也是要.方法名调用
回复 使用道具 举报 1 0
樱花飘过 发表于 2015-8-15 23:38
比如.Student继承Person类,向下转型就是多态:Person p=new Student( );向下转型就是 Student s=( Student)p ...

那么向下转型之前必须要Persom p=new Student(); 吗
回复 使用道具 举报
TheBadboy 发表于 2015-8-16 10:01
那么向下转型之前必须要Persom p=new Student(); 吗

是的,需要先多态,再转型,
回复 使用道具 举报
樱花飘过 发表于 2015-8-15 23:38
比如.Student继承Person类,向下转型就是多态:Person p=new Student( );向下转型就是 Student s=( Student)p ...

正解,用到多态跟强制转换!
回复 使用道具 举报
樱花飘过 发表于 2015-8-16 10:07
是的,需要先多态,再转型,

那这样不就没意义了么,直接创建子类的对象,访问子类的方法不就可以 了
回复 使用道具 举报
本帖最后由 3174918418 于 2015-8-16 13:45 编辑

首先你要先了解多态的定义:
        对象在不同时刻表现出来的不同状态
        所以可以增强程序的扩展性和可维护性,所以才使用多态。

而父类调用子类的方法一途是因为:
        父类引用不能直接使用子类对象的特有功能, 如何解决这个问题?
         向下转型 (就是强转)
         Ex: 格式  (子类)父类
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马