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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求指教,比如子类继承父类,向上转型就是父类指向子类引用,他最终是输出什么,是怎样指向的,,
还有就是一个类里面我看他们一个函数是这样写的 void  student num ()不懂的是为什么要写返回一个学生,如果不写这个好像也是一个函数啊不要student,不理解,求简单易懂,

7 个回复

正序浏览
向上转型相当于是一个多态,如果是非静态的方法那么在编译时看等号的左边(父类),在执行时看等号右边的内容(子类),如果是静态的,再编译和执行时都是看等号左边(父类),student这个你最好是把代码贴出来
回复 使用道具 举报
函数的命名方式是:
权限+返回类型+函数名+(参数列表)+{函数体}
除了构造函数,每个函数有且仅有一个返回类型(基础数据类型、自定义数据类型等等),void表示该函数没有返回值,所以void student num()这个函数是错的……不知道你的那个程序是什么样的,发出来看看吧
回复 使用道具 举报
首先第一个问题关于对象的上转型对象:
关于上转型对象有以下特点:
(1) 上转型对象不能操作子类新增的成员变量,不能使用子类新增的方法。
(2) 上转型对象可以操作子类继承或隐藏的成员变量,也可以使用子类继承的或重写的方法。
(3) 上转型对象操作子类继承或重写的方法时,就是通知对应的子类对象去调用这些方法。因此,如果子类重写了父类的某个方法后对象的上转型对象调用这个方法时,一定是调用了这个重写的方法。
(4) 可以将对象的上转型对象再强制转换到一个子类对象,这时,该子类对象又具有了子类的所有属性和功能。
第二个问题我也没看懂

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1 赞一个!

查看全部评分

回复 使用道具 举报
是说可以返回一个对象吗?
回复 使用道具 举报
额,首先是第一个问题,在向上转型中,就相当于多态的使用,当调用的是父类的非静态方法时,如果子类重写了该方法,那么就直接执行子类的新方法。
还有第二个问题,void  student num (),这个具体我也没看懂,void本身就已经声明无返回值,而student是什么?你可以把代码发上来看看
回复 使用道具 举报
你可以把你的代码粘贴出来看看,没有明白你的意思
回复 使用道具 举报
没想明白!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马