《移动通信软件编程基础-Java语言》第4章.ppt
《《移动通信软件编程基础-Java语言》第4章.ppt》由会员分享,可在线阅读,更多相关《《移动通信软件编程基础-Java语言》第4章.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 移动通信软件编程基础 JavaIC-MSP知识回顾面象对象技术面象对象技术类和对象类和对象封装封装类的定义及使用类的定义及使用类可用类可用classclass来定义来定义类的变量和方法可被该类的实例访问类的变量和方法可被该类的实例访问圆点符号用于访问对象的成员圆点符号用于访问对象的成员构造方法在创建对象时初始化对象构造方法在创建对象时初始化对象包包使用使用packagepackage声明包声明包使用使用importimport导入包导入包类是具有相同属性和行为的一组对象的集合类是具有相同属性和行为的一组对象的集合对象是类的实例对象是类的实例隐藏对象实现细节的过程隐藏对象实现细节的过程使用户不
2、能看到实现细节使用户不能看到实现细节IC-MSP4类和对象的高级特征 第章IC-MSP本章目标理解继承及其特点理解继承及其特点运用运用JavaJava程序实现继承程序实现继承理解多态及其特点理解多态及其特点运用运用JavaJava程序实现多态程序实现多态掌握访问修饰符及方法修饰符掌握访问修饰符及方法修饰符IC-MSP继承 继承是一种继承是一种机制机制,让,让一个类一个类能够能够继承继承另另一个类一个类的的所有所有行为行为和和属性属性。v通过继承,一个类可以拥有已有类的所有功能。通过继承,一个类可以拥有已有类的所有功能。v通过继承,所有类都以严格的层次结构来组织。通过继承,所有类都以严格的层次结
3、构来组织。IC-MSP继承 IC-MSP子类 继承其他类的类叫继承其他类的类叫子类子类,被继承的类叫做,被继承的类叫做超超类类(父类)。(父类)。IC-MSP使用Java实现继承 实现步骤:实现步骤:v步骤:编写父类步骤:编写父类class Robot protected String name=Anna;Robot()void showDetail()System.out.println(名称名称-+name);v步骤:编写子类,使用关键字步骤:编写子类,使用关键字extendsextends继承继承父类父类class WalkingRobot extends Robot WalkingRo
4、botTest()void show()System.out.println(从子类从子类 WalkingRobot 中输出的信息中输出的信息);System.out.println(机器人的名称机器人的名称-+name);父类名称父类名称 子类名称子类名称IC-MSP演示演示 使用使用JavaJava实现继承实现继承继承演示IC-MSP子类的构造方法 v子类构造方法的名称与类的名称相同子类构造方法的名称与类的名称相同 v在子类中调用父类构造方法,使用关键字在子类中调用父类构造方法,使用关键字super super v调用父类构造方法的语法为:调用父类构造方法的语法为:super();supe
5、r();或或 super(super(参数列表参数列表););v用用supersuper语句来调用父类的构造方法时,必须遵守语句来调用父类的构造方法时,必须遵守以下语法规则:以下语法规则:子类的构造方法中,通过子类的构造方法中,通过supersuper语句调用父类构造方法。语句调用父类构造方法。子类的构造方法中若有子类的构造方法中若有supersuper语句,必须做为构造方法的语句,必须做为构造方法的第一条语句。第一条语句。IC-MSP子类的构造方法 class Robot protected String name;protected String color;Robot(String na
6、me,String color)this.name=name;this.color=color;void showDetail()System.out.println(从父类从父类 Robot 中输出的信息中输出的信息);System.out.println(名称名称-+name);System.out.println(颜色颜色-+color);父类的构造方法父类的构造方法 class WalkingRobot extends Robot String sex;WalkingRobot(String name,String color,String sex)super(name,color);
7、this.sex=sex;void show()System.out.println(从子类从子类 WalkingRobot 中输出的信息中输出的信息);System.out.println(机器人的名称机器人的名称-+name);System.out.println(机器人的颜色机器人的颜色-+color);System.out.println(=);子类的构造方法子类的构造方法 调用父类构造方法调用父类构造方法 public class WalkingRobotTest WalkingRobotTest()public static void main(String args)Walkin
8、gRobot wr=new WalkingRobot();wr.show();wr.showDetail();调用子类创建的方法调用子类创建的方法 调用继承自父类的方法调用继承自父类的方法 IC-MSP演示演示 使用使用JavaJava创建子类构造方法创建子类构造方法子类构造方法演示IC-MSP多态 v多态是一种普遍存在的现象,如多态是一种普遍存在的现象,如waterwater的三种形的三种形态:冰态:冰水水汽等。也就是指汽等。也就是指“多种形式多种形式”。v多态使用不同的实例而执行不同操作。多态使用不同的实例而执行不同操作。v多态实现的方法包括方法重写和方法重载。多态实现的方法包括方法重写和
9、方法重载。v软件系统支持多态的前提就是能够静态(编译时)软件系统支持多态的前提就是能够静态(编译时)或者动态(运行时)地确定类型。或者动态(运行时)地确定类型。IC-MSP多态 /*机器人类机器人类Robot的子类的子类*/class WalkingRobot extends Robot int legnumber;/腿的数量腿的数量 WalkingRobot(String name,String color,int legnumber)super(name,color);this.legnumber=legnumber;void show()System.out.println(从子类从子类
10、 WalkingRobot 中输出的信息中输出的信息);System.out.println(机器人的名称机器人的名称-+name);System.out.println(机器人的颜色机器人的颜色-+color);System.out.println(机器人的腿数量机器人的腿数量-+legnumber);System.out.println(=);/*机器人类机器人类Robot的子类的子类*/class DrivingRobot extends Robot int drivenumber;/驱动的数量驱动的数量 DrivingRobot(String name,String color,int
11、 drivenumber)super(name,color);this.drivenumber=drivenumber;void show()System.out.println(从子类从子类 DrivingRobot 中输出的信息中输出的信息);System.out.println(机器人的名称机器人的名称-+name);System.out.println(机器人的颜色机器人的颜色-+color);System.out.println(机器人的驱动数量机器人的驱动数量-+drivenumber);System.out.println(=);子类子类DrivingRobotDrivingRo
12、bot的的showshow方法方法 子类子类WalkingRobotWalkingRobot的的showshow方法方法 public class MoreState MoreState()public static void main(String args)Robot r=new Robot(Blue,Black);WalkingRobot wr=new WalkingRobot(Lisa,blue,4);DrivingRobot rr=new DrivingRobot(Anna,pink,1);r=wr;r.show();r=rr;r.show();父类对象父类对象 r r 指向子类对象
13、指向子类对象 wrwr,r.showr.show调用的为调用的为wrwr的的showshow方法方法父类对象父类对象 r r 指向子类对象指向子类对象 rrrr,r.showr.show调用的为调用的为rrrr的的showshow方法方法IC-MSP演示演示 使用使用JavaJava实现多态实现多态多态演示IC-MSP方法重载 对于类的方法(包括从父类中继承的方法),如对于类的方法(包括从父类中继承的方法),如果有两个方法的方法名相同,但参数不一致,那么可果有两个方法的方法名相同,但参数不一致,那么可以说,一个方法是另一个方法的以说,一个方法是另一个方法的重载重载。class Robot pr
14、otected String name=Anna;protected String color=Pink;Robot()Robot(String name,String color)this.name=name;this.color=color;IC-MSP方法重写 v在在JavaJava中,子类可继承父类中的方法,而不需要重新编中,子类可继承父类中的方法,而不需要重新编写相同的方法。写相同的方法。v有时子类并不想原封不动地继承父类的方法,而是想作有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方一定的修改,这就需要采用方法的重写。方法重写又称方
15、法覆盖。法覆盖。v子类中的方法与父类中的某一方法具有相同的方法名、子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。返回类型和参数表,则新方法将覆盖原有的方法。vsuper.methodnamesuper.methodname()()用于调用父类中的方法用于调用父类中的方法IC-MSP方法重写 class Robot void show()System.out.println(从父类从父类 Robot 中输出的信息中输出的信息);System.out.println(名称名称-+name);System.out.println(颜色颜色-+color)
16、;class WalkingRobot extends Robot void show()System.out.println(从子类从子类 WalkingRobot 中输出的信息中输出的信息);System.out.println(机器人的腿数量机器人的腿数量-+legnumber);重重写写IC-MSP演示演示 使用使用JavaJava实现方法重写实现方法重写方法重写演示IC-MSP访问修饰符 访问修饰符访问修饰符使用访问修饰符使用访问修饰符,起到信息隐藏的作用起到信息隐藏的作用信息隐藏的原因信息隐藏的原因对任何实现细节所作的更改对任何实现细节所作的更改不会影响使用该类的代码不会影响使用该
17、类的代码防止用户意外删除数据防止用户意外删除数据使类易于使用使类易于使用访问修饰符的分类访问修饰符的分类控制对类、方法和控制对类、方法和变量的访问的限定符变量的访问的限定符privateprivateprotectedprotectedpublicpublic默认修饰符默认修饰符限定符限定符staticstatic,创建类方法和类变量创建类方法和类变量限定符限定符finalfinal,用于固定类、方法和变量的实现用于固定类、方法和变量的实现限定符限定符abstractabstract,用于创建抽象类和方法用于创建抽象类和方法IC-MSPprivate修饰符 v类中限定为类中限定为private
18、private的成员,只能被这个类本身访的成员,只能被这个类本身访问。问。v如果一个类的构造方法声明为如果一个类的构造方法声明为private,private,则其它类不则其它类不能生成该类的一个实例。能生成该类的一个实例。class Robot private String name=Anna;private String color=Pink;private Robot(String name,String color)this.name=name;this.color=color;void show()System.out.println(从父类从父类 Robot 中输出的信息中输出的信
19、息);System.out.println(名称名称-+name);System.out.println(颜色颜色-+color);System.out.println(=);本类中成员可以使用其私有成员本类中成员可以使用其私有成员 类中的私有成员类中的私有成员 public class DemoPrivate DemoPrivate()public static void main(String args)Robot wr=new Robot(Lisa,blue);wr.show();不正确:不正确:类类RobotRobot的的构造方法为私有成员构造方法为私有成员 IC-MSPprotect
20、ed修饰符 class Robot protected String name=Anna;class WalkingRobot extends Robot void show()System.out.println(机器人的名称机器人的名称-+name);class DemoProtected public static void main(String args)WalkingRobot r=new WalkingRobot();System.out.println(机器人的名称机器人的名称-+r.show();protected protected成员能够被本类访问成员能够被本类访问 pr
21、otected protected成员能够被子类访问成员能够被子类访问 (同一包或不同包同一包或不同包)protected protected成员能够被成员能够被 同一个包的类访问同一个包的类访问 IC-MSP默认修饰符 package com.test;public class Robot String name=Anna;String color=Pink;public Robot(String name,String color)this.name=name;this.color=color;void show()System.out.println(从父类从父类 Robot 中输出的信
22、息中输出的信息);System.out.println(名称名称-+name);System.out.println(颜色颜色-+color);System.out.println(=);默认成员能够被本类访问默认成员能够被本类访问 默认成员能够被默认成员能够被 同一包中的类访问同一包中的类访问 import com.test.Robot;class WalkingRobot extends Robot int legnumber;WalkingRobot(String name,String color,int legnumber)super(name,color);this.legnumb
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 移动通信软件编程基础-Java语言 移动 通信 软件 编程 基础 Java 语言
限制150内