- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 任务实现 1 2 3 分析抽象出类 按照类图编制出类框架 实现类中的方法 4 5 定义主类 创建类的对象 访问对象 * 驱动任务三 设计一个人类,有姓名、年龄两个属性,一个无参构造方法(用于将属性初始化为其默认值),一个带参构造方法,会说话、会工作等行为。然后设计学生类和教师类,它们都是派生自人类的子类,其中学生类还包含有学号属性,有自己的说话和工作方式;教师类还包含有教师号属性,也有自己的说话和工作方式。建立若干个学生对象和教师对象,分别输出各对象的信息。 * 目标及知识点 方法的重载与重写 2 类的多态特性 1 1 * 重载 在Java中,同一个类中如果同时存在两个以上的方法有 同一个名字,在这种情况下,我们说方法被重载了,这个 过程被称为方法重载。 * 【例2-10】 使用类的重载构造方法生成不同的长方形对象,计算各长方形的面积。 class Rectangle{ double length; // 长 double width; // 宽 // 定义三个重载的构造方法 public Rectangle(){ // 无参构造方法 length = 1.0; width = 1.0; } public Rectangle(double length){ // 带参构造方法 this.length = length; this.width = length; } public Rectangle(double length, double width){//带参构造方法 this.length = length; this.width = width; } public double area(){ // 求长方形的面积 return length * width; } public void display(){ System.out.println(长方形的面积是: + this.area()); } } public class RectangleDemo{ public static void main (String args[]){ Rectangle rect1 = new Rectangle(); // 调用无参构造方法 rect1.display(); Rectangle rect2 = new Rectangle(6); rect2.display(); Rectangle rect3 = new Rectangle(10,20); rect3.display(); } } 长方形的面积是:1.0 长方形的面积是:36.0 长方形的面积是:200.0 * 重写 当同名方法同时存在于子类和父类中时,对于子类来说就 是将继承的父类的方法重新写过了,实现方式完全和父类 无关。当调用子类的方法时,运行的是子类重新改写的方 法,而不是父类的方法。 * 【例2-11】重写方法的调用。 class A { void display() { System.out.println(这是父类的方法); } void print() { System.out.println(As method print() called!); } } class B extends A { // 子类B派生自父类A void display() { // 方法的重写 System.out.println(这是子类的方法); } } public class Test { public static void main(String args[]) { A a1 = new A(); // a1引用类A的实例 a1.display(); a1.print(); A a2 = new B(); // a2引用类B的实例,子类对象可以看做父类对象 a2.display(); a2.print(); } } 结果: 这是父类的方法 As method print() called! 这是子类的方法 As method print() called! * 方法重写时要遵循三个原则: 重写方法的返回类型必须与它所重写的方法相同。 重写方法不能比它所重写的方法有更严格的访问权限,也就是子类private方法不能覆盖掉父类public的
您可能关注的文档
- (ARM原理与C程序设计)第七章ARM接口程序设计.ppt
- (ARM原理与C程序设计)第三章ARM指令表.ppt
- (ARM原理与C程序设计)第一章ARM概述与开发环境.ppt
- (CC++语言程序设计)第1章 概述.ppt
- (CC++语言程序设计)第2章 数据类型和表达式.ppt
- (CC++语言程序设计)第3章 程序设计基础.ppt
- (CC++语言程序设计)第4章 数组.ppt
- (CC++语言程序设计)第5章 函数.ppt
- (CC++语言程序设计)第6章 结构体、共用体与枚举.ppt
- (CC++语言程序设计)第7章 编译预处理.ppt
- (Java面向对象程序设计与系统开发)第3章面向对象设计思想.ppt
- (Java面向对象程序设计与系统开发)第4章面向对象开发常用类.ppt
- (Java面向对象程序设计与系统开发)第5章异常处理.ppt
- (Java面向对象程序设计与系统开发)第6章项目需求分析.ppt
- (Java面向对象程序设计与系统开发)第7章项目开发环境搭建.ppt
- (Java面向对象程序设计与系统开发)第8章概要设计与数据库设计.ppt
- (Java面向对象程序设计与系统开发)第9章JDBC方式连接数据库.ppt
- (Java面向对象程序设计与系统开发)第10章单元测试.ppt
- (Java面向对象程序设计与系统开发)第11章项目编码实现.ppt
- (Java面向对象程序设计与系统开发)第12章线程处理.ppt
原创力文档


文档评论(0)