Java程序设计基础与实践 第4章 继承与多态

Java程序设计基础与实践 第4章 继承与多态

ID:45849217

大小:158.50 KB

页数:23页

时间:2019-11-18

Java程序设计基础与实践 第4章 继承与多态_第1页
Java程序设计基础与实践 第4章 继承与多态_第2页
Java程序设计基础与实践 第4章 继承与多态_第3页
Java程序设计基础与实践 第4章 继承与多态_第4页
Java程序设计基础与实践 第4章 继承与多态_第5页
资源描述:

《Java程序设计基础与实践 第4章 继承与多态》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章继承与多态Java类间继承的实现方法Java继承中变量与方法的隐藏和覆盖问题this和super关键字的使用Java多态性的含义4.1.1继承性⑴创建子类Java中,使用关键字extends实现继承,格式如下:[类修饰符]class类名extends父类名[implements接口列表]{//类声明}继承而得到的类称为子类,被继承的类称为父类、基类或超类。Java不支持多重继承,即一个类从多个父类派生的能力。子类可以继承父类中所有可被子类访问的成员变量和成员方法。所有的类都是通过直接或间接地继承java.lang

2、.Object类得到的。例如:classPeople{Stringid,name;intage;People(){id="00000";name=null;age=0;}voidsetName(Stringname){this.name=name;}StringgetName(){returnname;}}publicclassStudentextendsPeople{//定义Student类,继承People类Stringnumber;//定义自己的成员变量:学号publicstaticvoidmain(String

3、args[]){Students=newStudent();//创建对象s.age=20;//继承父类成员变量s.number="15";//自己的成员变量s.setName("黎明");//继承父类的成员方法System.out.println("学号:"+s.number);//输出信息System.out.println("姓名:"+s.getName());System.out.println("年龄:"+s.age);}}⑵对象的上转型对象上转型(Upercase)对象,即将子类实例化的对象的引用赋给用父类声

4、明的变量。即定义了子类对象,但把这个对象的引用放到父类的对象中。例如,假设A类是B类的父类Aa;A=newB();或Aa;Bb=newB();a=b;称这个父类对象a是子类对象b的上转型对象。例如:classPeople{protectedStringname="张三";protectedintage,number;StringgetName(){returnname;}protectedStringgetInfo(Strings,inta,intn){name=s;age=a;number=n;return"父类姓名

5、:"+name+""+"父类年龄:"+age+""+"父类工号:"+number+"";}}classStudentextendsPeople{protectedStringname="李四";//变量的隐藏protectedStringgetInfo(Strings,inta){name=s;age=a;return"子类姓名:"+name+""+"子类年龄:"+age+"";}protectedStringgetInfo(Strings,inta,intn){//方法的重写name=s;age=

6、a;number=n;return"子类姓名:"+name+""+"子类年龄:"+age+""+"子类工号:"+number+"";}publicstaticvoidmain(Stringargs[]){Peoplep=newStudent();//p为上转型对象//System.out.println(p.getInfo(p.getName(),20));//非法,上转型对象不可以访问子类新增成员System.out.println(p.getInfo(p.getName(),40,10000));//访

7、问子类重写的方法,隐藏的变量Students=(Student)p;//强制转换为子类对象,可以访问自了新增的成员方法System.out.println(s.getInfo(s.getName(),20));}}隐藏和覆盖隐藏就是子类隐藏了父类的变量或方法,那么,子类不能访问父类被隐藏的变量或方法。Java中变量在继承时的覆盖和隐藏规则为:父类的实例变量和静态变量能被子类的同名变量隐藏。局部变量和各种参数永远不会被隐藏。classParentClass{privatestaticStringprivateField=

8、"父类变量--private";/*friendly*/StringfriendlyField="父类变量--friendly";protectedstaticStringprotectedField="父类变量--protectedstatic";protectedStringpublicField="父类变量--public"

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。