第8章_动物类派生——继承与多态.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
练习-续 最后设计一个入口主类,构造若干个大学生,把他们的数据和行为列举出来。 * Human类 class Human1 { //人类 private String name; private char sex; private int age; public Human(String name, char sex, int age){ this.name = name; this.sex = sex; this.age = age; } public void think(){ //思考方法 System.out.println(name + 在思考...); } } * class Pupil extends Human { //继承人类的学生类 private String stuNo; //学号 public Pupil(String stuNo, String name, char sex, int age){ super(name, sex, age); this.stuNo = stuNo; } public void learn() //学习方法 { System.out.println(getName() + ”在学习…”); } } * Pupil类 Student类 class Student extends Pupil{ public Student(…){ super(…); } public void study(){ System.out.println( … + “在自学…”); } public String toString() { return String.format(“所构造大学生信息: %s号%s, %c, %d 岁”, getStuNo(), getName(), …); } } * 8.5 类类型变量赋值 8.5.1 子类对象的上转型对象 子类由父类派生,可把子类对象赋给父类声明的变量。如: Human human = new Pupil(); 或者: Human human; Pupil pupil = new Pupil(); human = pupil; * 8.5 类类型变量赋值 8.5.1 子类对象的上转型对象 这种由父类变量引用的子类对象就是上转型对象。 上转型对象具有如下特征: (1)上转型对象不能操作子类新增的成员字段和成员方法。 (2)上转型对象能使用父类被继承或重写的成员方法、被继承或隐藏的成员变量。 (3)如果子类重写了父类的方法,则上转型对象调用该方法时一定是重写后的方法(多态性)。 (4)如果子类重新定义了父类的同名字段,即隐藏了父类的字段,则上转型对象访问该字段时必定是父类本身的字段。 * 【例8-4】编程,测试子类对象的上转型对象以及还原后的子类对象。 class Human4 { //人类 private String name; //姓名 public static final String typeName = 人类; //类名 public Human4(String name){ //构造方法 this.name = name; } protected String getName(){ //获取姓名方法 return name; } public void think(){ //思考方法 System.out.println(name + 在思考...); } public String like(){ //爱好方法 return 爱好因人而异; } } *

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档