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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张振 中级黑马   /  2013-3-29 14:24  /  1453 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张振 于 2013-3-30 22:33 编辑

学了继承之后 我想了构造方法中的一些问题
父类  公共
继承的子类 Student
输出的项目中
最后得到的是 只读属性 不能赋值
我没有赋值啊 我在项目中是用构造方法来进行传值得
我把公共类去掉 还原 又可以了 为什么继承之后构造方法反而不能传值了
没有继承的 时候  不能赋值 但构造是可以传值得啊

运行后说 Name只读属性不能赋值
可是不用继承 就不用出现

未命名1.jpg (57.4 KB, 下载次数: 25)

子类

子类

未命名.jpg (70.42 KB, 下载次数: 16)

未命名.jpg

评分

参与人数 1技术分 +1 收起 理由
邓艳秋 + 1

查看全部评分

2 个回复

倒序浏览
因为你设定Name属性是只读的,就算是在父类的构造函数中依然是不能给它赋值,只能给name字段赋值;子类继承父类,会继承父类所有成员以及它们的访问级别,所以子类中仍然是不能给Name属性赋值,这跟在子类中定义的一个只读的Name属性是一样的

评分

参与人数 1技术分 +1 收起 理由
邓艳秋 + 1

查看全部评分

回复 使用道具 举报
因为是继承  父类有的公用的东西你全部都拥有   父类的状态是什么就是什么  。不能改变的  继承不是抽象类  抽象类可以重写。继承不可以

评分

参与人数 1技术分 +1 收起 理由
邓艳秋 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马