书签 分享 收藏 举报 版权申诉 / 47
上传文档赚钱

类型《移动通信软件编程基础—Java语言》第4章课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:3709875
  • 上传时间:2022-10-06
  • 格式:PPT
  • 页数:47
  • 大小:1.54MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《移动通信软件编程基础—Java语言》第4章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    移动通信软件编程基础Java语言 移动 通信 软件 编程 基础 Java 语言 课件
    资源描述:

    1、 移动通信软件编程基础 Java知识回顾面象对象技术面象对象技术类和对象类和对象封装封装类的定义及使用类的定义及使用类可用类可用classclass来定义来定义类的变量和方法可被该类的实例访问类的变量和方法可被该类的实例访问圆点符号用于访问对象的成员圆点符号用于访问对象的成员构造方法在创建对象时初始化对象构造方法在创建对象时初始化对象包包使用使用packagepackage声明包声明包使用使用importimport导入包导入包类是具有相同属性和行为的一组对象的集合类是具有相同属性和行为的一组对象的集合对象是类的实例对象是类的实例隐藏对象实现细节的过程隐藏对象实现细节的过程使用户不能看到实现细

    2、节使用户不能看到实现细节4类和对象的高级特征 第章本章目标理解继承及其特点理解继承及其特点运用运用JavaJava程序实现继承程序实现继承理解多态及其特点理解多态及其特点运用运用JavaJava程序实现多态程序实现多态掌握访问修饰符及方法修饰符掌握访问修饰符及方法修饰符继承 继承是一种继承是一种机制机制,让,让一个类一个类能够能够继承继承另另一个类一个类的的所有所有行为行为和和属性属性。v通过继承,一个类可以拥有已有类的所有功能。通过继承,一个类可以拥有已有类的所有功能。v通过继承,所有类都以严格的层次结构来组织。通过继承,所有类都以严格的层次结构来组织。继承 子类 继承其他类的类叫继承其他类

    3、的类叫子类子类,被继承的类叫做,被继承的类叫做超超类类(父类)。(父类)。继承的特点继承的特点 层次结构层次结构 子类继承子类继承 父类的属性和方法父类的属性和方法 使用Java实现继承 实现步骤:实现步骤:v步骤:编写父类步骤:编写父类class Robot protected String name=Anna;Robot()void showDetail()System.out.println(名称名称-+name);v步骤:编写子类,使用关键字步骤:编写子类,使用关键字extendsextends继承继承父类父类class WalkingRobot extends Robot Walki

    4、ngRobotTest()void show()System.out.println(从子类从子类 WalkingRobot 中输出的信息中输出的信息);System.out.println(机器人的名称机器人的名称-+name);父类名称父类名称 子类名称子类名称演示演示 使用使用JavaJava实现继承实现继承继承演示子类的构造方法 v子类构造方法的名称与类的名称相同子类构造方法的名称与类的名称相同 v在子类中调用父类构造方法,使用关键字在子类中调用父类构造方法,使用关键字super super v调用父类构造方法的语法为:调用父类构造方法的语法为:super();super();或或 s

    5、uper(super(参数列表参数列表););v用用supersuper语句来调用父类的构造方法时,必须遵守语句来调用父类的构造方法时,必须遵守以下语法规则:以下语法规则:子类的构造方法中,通过子类的构造方法中,通过supersuper语句调用父类构造方法。语句调用父类构造方法。子类的构造方法中若有子类的构造方法中若有supersuper语句,必须做为构造方法的语句,必须做为构造方法的第一条语句。第一条语句。子类的构造方法 class Robot protected String name;protected String color;Robot(String name,String colo

    6、r)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);this.sex=sex;v

    7、oid 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)WalkingRobot wr=new

    8、WalkingRobot();wr.show();wr.showDetail();调用子类创建的方法调用子类创建的方法 调用继承自父类的方法调用继承自父类的方法 演示演示 使用使用JavaJava创建子类构造方法创建子类构造方法子类构造方法演示多态 v多态是一种普遍存在的现象,如多态是一种普遍存在的现象,如waterwater的三种形的三种形态:冰态:冰水水汽等。也就是指汽等。也就是指“多种形式多种形式”。v多态使用不同的实例而执行不同操作。多态使用不同的实例而执行不同操作。v多态实现的方法包括方法重写和方法重载。多态实现的方法包括方法重写和方法重载。v软件系统支持多态的前提就是能够静态(编译

    9、软件系统支持多态的前提就是能够静态(编译时)或者动态(运行时)地确定类型。时)或者动态(运行时)地确定类型。多态 /*机器人类机器人类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(从子类从子类 WalkingRobot 中输出的信息中输出的信息);Syst

    10、em.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 drivenumber)super(name,color);t

    11、his.drivenumber=drivenumber;void show()System.out.println(从子类从子类 DrivingRobot 中输出的信息中输出的信息);System.out.println(机器人的名称机器人的名称-+name);System.out.println(机器人的颜色机器人的颜色-+color);System.out.println(机器人的驱动数量机器人的驱动数量-+drivenumber);System.out.println(=);子类子类DrivingRobotDrivingRobot的的showshow方法方法 子类子类WalkingRob

    12、otWalkingRobot的的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 指向子类对象指向子类对象 wrwr,r.showr.show调用的为调用的为

    13、wrwr的的showshow方法方法父类对象父类对象 r r 指向子类对象指向子类对象 rrrr,r.showr.show调用的为调用的为rrrr的的showshow方法方法演示演示 使用使用JavaJava实现多态实现多态多态演示方法重载 对于类的方法(包括从父类中继承的方法),如对于类的方法(包括从父类中继承的方法),如果有两个方法的方法名相同,但参数不一致,那么可果有两个方法的方法名相同,但参数不一致,那么可以说,一个方法是另一个方法的以说,一个方法是另一个方法的重载重载。class Robot protected String name=Anna;protected String co

    14、lor=Pink;Robot()Robot(String name,String color)this.name=name;this.color=color;方法重写 v在在JavaJava中,子类可继承父类中的方法,而不需要重新编中,子类可继承父类中的方法,而不需要重新编写相同的方法。写相同的方法。v有时子类并不想原封不动地继承父类的方法,而是想作有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。法覆盖。v子类中的方法与父类中的某一方法具有相同的方法名、子类中的方法与父类中的某一方法具有

    15、相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。返回类型和参数表,则新方法将覆盖原有的方法。vsuper.methodname()super.methodname()用于调用父类中的方法用于调用父类中的方法方法重写 class Robot void show()System.out.println(从父类从父类 Robot 中输出的信息中输出的信息);System.out.println(名称名称-+name);System.out.println(颜色颜色-+color);class WalkingRobot extends Robot void show()System.out.

    16、println(从子类从子类 WalkingRobot 中输出的信息中输出的信息);System.out.println(机器人的腿数量机器人的腿数量-+legnumber);重重写写演示演示 使用使用JavaJava实现方法重写实现方法重写方法重写演示访问修饰符 访问修饰符访问修饰符使用访问修饰符使用访问修饰符,起到信息隐藏的作用起到信息隐藏的作用信息隐藏的原因信息隐藏的原因对任何实现细节所作的更改对任何实现细节所作的更改不会影响使用该类的代码不会影响使用该类的代码防止用户意外删除数据防止用户意外删除数据使类易于使用使类易于使用访问修饰符的分类访问修饰符的分类控制对类、方法和控制对类、方法和

    17、变量的访问的限定符变量的访问的限定符privateprivateprotectedprotectedpublicpublic默认修饰符默认修饰符限定符限定符staticstatic,创建类方法和类变量创建类方法和类变量限定符限定符finalfinal,用于固定类、方法和变量的实现用于固定类、方法和变量的实现限定符限定符abstractabstract,用于创建抽象类和方法用于创建抽象类和方法private修饰符 v类中限定为类中限定为privateprivate的成员,只能被这个类本身访的成员,只能被这个类本身访问。问。v如果一个类的构造方法声明为如果一个类的构造方法声明为private,pr

    18、ivate,则其它类则其它类不能生成该类的一个实例。不能生成该类的一个实例。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 中输出的信息中输出的信息);System.out.println(名称名称-+name);System.out.println(颜色颜色-+color);System.o

    19、ut.println(=);本类中成员可以使用其私有成员本类中成员可以使用其私有成员 类中的私有成员类中的私有成员 public class DemoPrivate DemoPrivate()public static void main(String args)Robot wr=new Robot(Lisa,blue);wr.show();不正确:不正确:类类RobotRobot的的构造方法为私有成员构造方法为私有成员 protected修饰符 class Robot protected String name=Anna;class WalkingRobot extends Robot vo

    20、id show()System.out.println(机器人的名称机器人的名称-+name);class DemoProtected public static void main(String args)WalkingRobot r=new WalkingRobot();System.out.println(机器人的名称机器人的名称-+r.show();protected protected成员能够被本类访问成员能够被本类访问 protected protected成员能够被子类访问成员能够被子类访问 (同一包或不同包同一包或不同包)protected protected成员能够被成员能够

    21、被 同一个包的类访问同一个包的类访问 默认修饰符 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 中输出的信息中输出的信息);System.out.println(名称名称-+name);System.out.println(颜色颜色-+color);System.out.pri

    22、ntln(=);默认成员能够被本类访问默认成员能够被本类访问 默认成员能够被默认成员能够被 同一包中的类访问同一包中的类访问 import com.test.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(从子类从子类 WalkingRobot 中输出的信息中输出的信息);System.ou

    23、t.println(机器人的名称机器人的名称-+name);不正确不正确:默认成员:默认成员不能被不能被 不同包中的类访问不同包中的类访问 public修饰符 package com.test;public class AccessDemo public void mechod1()System.out.println(一个公有的方法!任何类都可以访问。一个公有的方法!任何类都可以访问。);protected void mechod2()System.out.println(一个受到保护的方法!只有子类可以访问。一个受到保护的方法!只有子类可以访问。);private void mechod3

    24、()System.out.println(一个私有的方法!只有类本身才可以访问。一个私有的方法!只有类本身才可以访问。);package net.test;import com.test.*;public class OutAccessRun public static void main(String args)AccessDemo d=new AccessDemo();d.method1();d.method2();d.method3();正确正确:公有方法:公有方法任何类可访问任何类可访问不正确不正确:保护方法:保护方法只能在子类中被访问只能在子类中被访问不正确不正确:私有方法:私有方法

    25、 只有本类能访问只有本类能访问 访问修饰符 位置位置privateprivate 默认默认protectedprotected publicpublic同一个类同一个类是是是是是是是是同一个包内的类同一个包内的类否否是是是是是是不同包内的子类不同包内的子类否否否否是是是是不同包且不是子类不同包且不是子类否否否否否否是是演示演示 在在JavaJava中使用访问修饰符中使用访问修饰符访问修饰符演示静态变量 vstaticstatic修饰符修饰的变量叫静态变量修饰符修饰的变量叫静态变量v静态变量独立于类的实例,使用类去访问,而不静态变量独立于类的实例,使用类去访问,而不是类实例,所以也叫类变量是类实

    26、例,所以也叫类变量v静态变量的声明格式:静态变量的声明格式:static type classVar;static type classVar;v类变量仅在生成第一个对象时分配内存,所有实类变量仅在生成第一个对象时分配内存,所有实例对象共享同一个类变量例对象共享同一个类变量v类变量可通过类名直接访问类变量可通过类名直接访问静态变量 class Robot static long count=0;String name=Anna;String color=Pink;public Robot()count+;public Robot(String name,String color)this.na

    27、me=name;this.color=color;count+;public class DemoStatic public static void main(String args)Robot r1=new Robot(第第1个机器人个机器人,color1);Robot r2=new Robot(第第2个机器人个机器人,color2);System.out.println(当前机器人的个数为:当前机器人的个数为:+Robot.count);创建两个对象创建两个对象 count count值为值为2 2 静态成员变量静态成员变量静态方法 vstaticstatic修饰符修饰的方法叫静态方法修饰

    28、符修饰的方法叫静态方法v静态方法独立于类的实例,使用类去访问,而不是类静态方法独立于类的实例,使用类去访问,而不是类实例,所以也叫类方法实例,所以也叫类方法v静态方法的声明格式:静态方法的声明格式:static returnType classMethod(paramlist)static returnType classMethod(paramlist)v静态方法使用规则:可以调用其他静态方法静态方法使用规则:可以调用其他静态方法;必须访必须访问静态数据问静态数据;不能使用不能使用supersuper或或thisthis关键字关键字静态方法 class Robot static long c

    29、ount=0;String name=Anna;String color=Pink;public Robot()count+;public Robot(String name,String color)this.name=name;this.color=color;count+;public static void displayCount()System.out.println(当前机器人的个数为:当前机器人的个数为:+count);静态方法静态方法 用于输出静态变量用于输出静态变量 public class DemoStatic public static void main(String

    30、 args)Robot r1=new Robot(第第1个机器人个机器人,color1);Robot r2=new Robot(第第2个机器人个机器人,color2);Robot.displayCount();创建两个对象创建两个对象调用静态方法输出调用静态方法输出countcount值为值为2 2 演示演示 在在JavaJava中使用中使用staticstatic修饰符修饰符static修饰符演示final修饰符 v限定符限定符finalfinal用于类、方法和变量,指出它们将不能被用于类、方法和变量,指出它们将不能被修改。修改。v对于类、方法和变量,对于类、方法和变量,finalfinal

    31、的含义分别为:的含义分别为:finalfinal类类不能被继承不能被继承;finalfinal方法方法不能被子类覆盖不能被子类覆盖;finalfinal变量变量的值不能被修改的值不能被修改 finalfinal修饰变量修饰变量,则成为常量则成为常量例如:例如:final intfinal int variableName=variableName=1212;final修饰符 class Robot protected String name=Anna;protected String color=Pink;Robot(String name,String color)this.name=nam

    32、e;this.color=color;final void show()System.out.println(从父类从父类 Robot 中输出的信息中输出的信息);System.out.println(名称名称-+name);System.out.println(颜色颜色-+color);System.out.println(=);final final修饰的方法修饰的方法 不能在子类中被重写不能在子类中被重写 演示演示 在在JavaJava中使用中使用finalfinal修饰符修饰符final修饰符演示abstract修饰符 v由由abstractabstract修饰的方法叫抽象方法;由修饰

    33、的方法叫抽象方法;由abstractabstract修饰的类叫抽象类修饰的类叫抽象类v抽象方法必须声明在抽象类中抽象方法必须声明在抽象类中v抽象方法语法:抽象方法语法:abstract type method_name(parameter_list);abstract type method_name(parameter_list);v声明抽象类语法:声明抽象类语法:abstract class abstract class v父类中的某些抽象不包含任何逻辑,并需要在子父类中的某些抽象不包含任何逻辑,并需要在子类中重写,子类提供这种抽象方法的实现细节类中重写,子类提供这种抽象方法的实现细节ab

    34、stract修饰符 v抽象类不能被实例化抽象类不能被实例化v构造方法和静态方法不能是抽象的构造方法和静态方法不能是抽象的v父类的抽象方法往往在子类中实现父类的抽象方法往往在子类中实现abstract class Robot protected String name=Anna;protected String color=Pink;Robot(String name,String color)this.name=name;this.color=color;abstract void show();抽象类抽象类 抽象方法抽象方法 class WalkingRobot extends Robot

    35、WalkingRobot(String name,String color)super(name,color);void show()System.out.println(“从子类从子类 WalkingRobot 中输出的信息中输出的信息);System.out.println(“机器人的名称机器人的名称-+name);System.out.println(“机器人的颜色机器人的颜色-+color);System.out.println(=);实现抽象父类中的抽象方法实现抽象父类中的抽象方法 class DrivingRobot extends Robot int drivenumber;Dr

    36、ivingRobot(String name,String color,int drivenumber)super(name,color);this.drivenumber=drivenumber;void show()System.out.println(从子类从子类 DrivingRobot 中输出的信息中输出的信息);System.out.println(机器人的驱动数量机器人的驱动数量-+drivenumber);实现抽象父类中的抽象方法实现抽象父类中的抽象方法 public class DemoAbstract public static void main(String args)

    37、Robot r;WalkingRobot wr=new WalkingRobot(Lisa,blue,4);DrivingRobot rr=new DrivingRobot(Anna,pink,1);r=wr;r.show();r=rr;r.show();演示演示 在在JavaJava中使用中使用abstractabstract修饰符修饰符abstract修饰符演示接口 v接口就是某个事物对外提供的一些功能的声明接口就是某个事物对外提供的一些功能的声明 v可以利用接口实现多态,同时接口也弥补了可以利用接口实现多态,同时接口也弥补了JavaJava单一继承的弱点单一继承的弱点v使用使用inter

    38、faceinterface关键字定义接口关键字定义接口v一般使用接口声明方法或常量,接口中的方法只一般使用接口声明方法或常量,接口中的方法只能是声明,不能是具体的实现能是声明,不能是具体的实现接口的创建方法 /定义方法的接口定义方法的接口public interface myinterface public void add(int x,int y);public void volume(int x,int y,int z);/定义程序使用的常量的接口定义程序使用的常量的接口public interface myconstants public static final double pric

    39、e=1450.00;public static final int counter=5;接口中的方法必须为接口中的方法必须为publicpublic修饰的修饰的接口中只能定义接口中只能定义 public public类型的静态常量类型的静态常量 接口的实现 class UserInterface implements MyInterface public void add(int x,int y)System.out.println(x+y=+(x+y);public void volume(int x,int y,int z)System.out.println(x*y*z=+x*y*z);

    40、void display(int x,int y,int z)add(x,y);volume(x,y,z);实现接口实现接口MyInterface MyInterface 实现接口中的方法实现接口中的方法 演示演示 在在JavaJava中使用接口中使用接口接口演示多继承 发动机发动机电驱动发动机电驱动发动机光驱动发动机光驱动发动机光电驱动发动机光电驱动发动机多继承 /*查询发动机的马力,发动机将返回一个表示马力的整数查询发动机的马力,发动机将返回一个表示马力的整数 */public interface Motor public int getHorsepower();/*查询电驱动发动机的充电

    41、时间,发动机将返回一个表示充电时查询电驱动发动机的充电时间,发动机将返回一个表示充电时间的整数。间的整数。*/public interface BatteryPoweredMotor extends Motor public int getTimeToRecharge();/*查询光驱动发动机能够正常运转所需要的最小流明数,发动机查询光驱动发动机能够正常运转所需要的最小流明数,发动机返回一个整数。返回一个整数。*/public interface SolarPoweredMotor extends Motor abstract public int getLumensToOperate();/

    42、光电驱动的发动机可以描述为光电驱动的发动机可以描述为public class DualPoweredMotor implements SolarPoweredMotor,BatteryPoweredMotor 演示演示 多继承多继承多继承演示总结类和对象的类和对象的高级特征高级特征封装、继承和多态是面向对象的主要特征封装、继承和多态是面向对象的主要特征继承可提高代码的重用性,继承可提高代码的重用性,使用使用extendsextends关键字来实现关键字来实现继承其他类的类叫子类继承其他类的类叫子类被继承的类叫做超类(父类)被继承的类叫做超类(父类)子类构造方法子类构造方法supersuper调

    43、用父类构造方法调用父类构造方法多态性是不同的实例对象以不同的多态性是不同的实例对象以不同的方式对相同的信息作出不同的表现方式对相同的信息作出不同的表现方法重载方法重载方法重写方法重写运行时多态和编译时多态运行时多态和编译时多态访问修饰符的分类访问修饰符的分类控制对类、方法和控制对类、方法和变量的访问的限定符变量的访问的限定符限定符限定符staticstatic,创建类方法和类变量创建类方法和类变量限定符限定符finalfinal,用于固定类、方法和变量的实现用于固定类、方法和变量的实现限定符限定符abstractabstract,用于创建抽象类和方法用于创建抽象类和方法privateprivateprotectedprotectedpublicpublic默认修饰符默认修饰符接口就是某个事物对外提供的一些功能的声明接口就是某个事物对外提供的一些功能的声明弥补弥补JavaJava单一继承的单一继承的不足,实现多继承不足,实现多继承习题作业

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《移动通信软件编程基础—Java语言》第4章课件.ppt
    链接地址:https://www.163wenku.com/p-3709875.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库