《移动通信软件编程基础-JAVA》第四章 实验手册

合集下载

java4章

java4章

第4章类和对象本章主要介绍Java语言中类的定义及类的访问控制、成员的定义及成员的访问控制、对象的创建、数组的创建及使用。

第4章类和对象4.1 OO(Object-oriented)基本概念4.2 类的定义4.3 域(成员变量/字段)声明4.4 方法的定义4.5 类变量的初始化形式4.6 类对象的初始化形式4.7 数组4.7.1 数组的创建形式4.7.2 (一组)数组的应用4.7.3 多维数组4.8 对象的撤消(清除)4.9 小结4.1 OO(Object-oriented)基本概念1. 对象(Object)⏹现实世界的对象:有自己的状态,如一台空调有自己编号、摆放位置、颜色、尺寸、重量、工作状态…有自己的行为(功能),如空调的开机、关机、制冷、制热、摆风…⏹机器世界的对象:对象的状态用属性来维护(变量、字段)对象的行为用方法来实现(代码)对象是一组数据(属性)及对这组数据属性的一组操作(行为)构成的有标识的独立实体。

2. 类(Class)类是一组具有共同的属性特征和行为(服务)特征的对象的抽象。

(1)属性(Attribute)是描述对象静态特征的一个数据项。

(2)行为(Service)是描述对象动态特征的一个操作序列。

类与对象的关系:抽象与具体的关系。

类是产生对象的模板,而对象是类的一个实例。

3. 封装(encapsulation)是指通过类机制把对象的数据和对数据的操作(行为)封装在一起成为一个独立的系统单位。

4.2 类的定义4.1.1 类的定义形式Java程序由类构成,类由类头和类体组成,其一般形式为:[<修饰符>] class <类名>{ <每个字段的声明><每个方法的定义>}//类定义结束其中类的修饰符有2种:(1)访问控制符public、private或缺省来指定类的访问权限。

如:public class Object {....}(2)非访问控制符abstract、final分别用来声明抽象类和最终类。

Java大学实用教程第四章

Java大学实用教程第四章
整理课件
2.方法体的构成 方法体的内容包括变量的定义和合法的Java语句,在 方法体中声明的变量以及方法的参数称作局部变量, 局部变量仅仅在该方法内有效。方法的参数在整个方 法内有效,方法内定义的局部变量从它定义的位置之 后开始有效。写一个方法和C语言中写一个函数完全类 似,只不过在这里称作方法。局部变量的名字必须符 合标识符规定,遵守习惯:名字如果使用拉丁字母, 首写字母使用小写。如果由多个单词组成,从第2个单 词开始的其它单词的首写字母使用大写。
整理课件
返回
4.3构造方法与对象的创建
类中有一部分方法称作构造方法,类创建对象 时需使用构造方法,以便给类所创建的对象一 个合理的初始状态。构造方法是一种特殊方法, 它的名字必须与它所在的类的名字完全相同, 并且不返回任何数据类型,即它是void型,但 void必须省略不写。Java允许一个类中有若干 个构造方法,但这些构造方法的参数必须不同, 即或者是参数的个数不同,或者是参数的类型 不同。下面的Rect类有两个构造方法:
整理课件
class是关键字,用来定义类。“class 类名”是类的 声明部分,类名必须是合法的Java标识符。两个大括 号“{”、“}”以及之间的内容称作类体。 以下是两个类声明的例子。 class Dog {… } class 机动车 {… }
整理课件
类的名字不能是Java中的关键字,要符合标识符规定, 即名字可以由字母、下划线、数字或美元符号组成, 并且第一个字符不能是数字。但给类命名时,最好遵 守下列习惯: (1)如果类名使用拉丁字母,那么名字的首字母使用 大写字母,如Hello、Time、,People 等。 (2)类名最好容易识别、见名知意。当类名由几个 “单词”复合而成时,每个单词的首写字母使用大写, 如BeijingTime、AmericanGame、HelloChina等。返回

JVVA第四章

JVVA第四章
• 引用类型数据:
如果在方法中对该参数指向的对象 进行了修改(例如,修改成员变量
的值),则这种修改将是永久的。
public class PassTest { float ptValue; // 参数类型是基本类型 public void changeInt(int value) { value = 55 ; Int value is:11 } …… public static void main(String args[ ] ) { String str; int val; // 创建PassTest的对象 PassTest pt= new PassTest( ); // 测试基本类型参数的传递,观察调用程序中的变量值是否改变 val = 11; pt.changeInt(val); System.out.println("Int value is: " +val);
different
value Hello str Str value is:Hello value变量已经被释放
…… // 参数类型是引用型,并且方法中改变了参数所指向 对象的成员变量值 public void changeObjValue( PassTest ref) { ref.ptValue = 99.0f; Pt value is:99.0 } …… // 测试引用类型参数的传递,观察调用程序中的变量 值是否改变 pt.ptValue = 101.0f ; pt.changeObjValue(pt); System.out.println("Pt value is: " +pt.ptValue);
this.z=c;
}
// 给类成员变量z赋值
String getXYZ( ) {

java课件——第四章

java课件——第四章
20102010-7-18
教学公共群:81246901 教学公共邮箱:ldxylmj@ 教学公共群:81246901 教学公共邮箱:ldxylmj@
类与对象
4.1.5 数组
语言中, 对象来实现的. 在Java语言中,数组是作为类 对象来实现的.一个 语言中 数组是作为类/对象来实现的 数组的大小( 数组的大小(也就是一个数组能保存的元素的数 ),可以在它的 可以在它的length实例变量中找到. 实例变量中找到. 目),可以在它的 实例变量中找到
20102010-7-18
初始值 0 0L 0.0f 0.0d '\u0000' null
类与对象
教学公共群:81246901 教学公共邮箱:ldxylmj@ 教学公共群:81246901 教学公共邮箱:ldxylmj@
4.1.4 对象的声明
对象是类的实例. 对象是类的实例.在程序中创建一个对象将在内 存中开辟一块空间. 存中开辟一块空间. 创建对象使用关键字运算符new 创建对象使用关键字运算符new 对象名称; 类的名称 对象名称; 对象名称= 类名(); 对象名称=new 类名(); Box mybox; mybox=new Box(); 对象名称= 类名(); 或 类的名称 对象名称=new 类名(); Box mybox=new Box();
20102010-7-18
教学公共群:81246901 教学公共邮箱:ldxylmj@ 教学公共群:81246901 教学公共邮箱:ldxylmj@
类与对象
class classname { instance-variable1 type instance-variable1; instance-variable2 type instance-variable2; // ... instance-variableN; type instance-variableN; methodname1(parametertype methodname1(parameter-list) { // body of method } methodname2(parametertype methodname2(parameter-list) { // body of method } // ... methodnameN(parameter (parametertype methodnameN(parameter-list) { // body of method } }

经典课件:移动通信软件编程基础-java语言第4章

经典课件:移动通信软件编程基础-java语言第4章
vvooiWiddasslhkhoionwwg(R())obot wr = new Walking子子Ro类类boWDt(ra"iLlvkiisinnag"g,R"Rboolbubeoo"t,t的4的);sshhooww方方法法
pW{roatlekcintegdRoSbtroint(gStcroinlogr;name,String color,String sex)
R{obot(String name,String color)
子类的构造方法
{} super(name,color); putthbhilisisc..nssaetmaxt=eics=evxno;aidmme;ain(String[] args)
父类名称
{ Walking{RobotTest() { }
子类名称
void show(S) ystem.out.println("名称 - " + name);
{ Syste}m.out.println("从子类 WalkingRobot 中输出的信息 ");
Sys}tem.out.println("机器人的名称 - " + name);
IC-器lic人c类lasRsoMbootr的eS子ta类te*/ c{ lass WDraivlkininggRRoobbootteexxtetennddssRRoobboott { MoreState()
ii{nnttdlerigvneunmumbebre;r//;腿//驱的动数的量数量 DWriavliknignRgRoboobto(tS(Strtirnigngnanmame,eS,Strtirnigngcocloolro,irn,itndt rleivgennuummbbeerr)) {{} pusbuslupicperes(rtn(anatimacmev,eoc,iocdolomlor)ar;)i;n(String[] args) { ththisi.sd.lreivgennuummbbeerr==ledgrinvuemnubmerb;er; }} Robot r = new Robot("Blue","Black");

Java基础第4章课件

Java基础第4章课件

父类无参的构造方法。
– 为了解决上述程序的编译错误,可以在子类中显示地调用父类中 已有的构造方法,当然也可以选择在父类中定义无参的构造方法
,现将例程4-4中的Animal类进行修改,如例程4-5所示。
4.2 final 关键字
让IT教学更简单,让IT学习更有效
• final关键字可用于修饰类、变量和方法,它有“这是无法 改变的”或者“最终”的含义,因此被final修饰的类、变 量和方法将具有以下特性:
类的成员变量、成员方法和构造方法。接下来分两种情况来学习
一下super关键字的具体用法。 – 1、使用super关键字调用父类的成员变量和成员方法。具体格式
如下:
4.1 类的继承
让IT教学更简单,让IT学习更有效
4.1 类的继承
• 4.1.1重写父类方法
让IT教学更简单,让IT学习更有效
– 2、使用super关键字调用父类的构造方法。具体格式如下:
4.2 final 关键字
让IT教学更简单,让IT学习更有效
• 这是因为使用final关键字修饰成员变量时,虚拟机不会对其进行初 始化。因此使用final修饰成员变量时,需要在定义变量的同时赋予 一个初始 name = "李芳"; // 为final关键字修饰的name属性赋值
• 出错的原因是,在调用animalShout()方法时,传入一个Dog对象, 在强制类型转换时,Animal类型的变量无法强转为Cat类型。
4.4 多态
• 4.4.2 对象的类型转换
让IT教学更简单,让IT学习更有效
– 针对这种情况,Java提供了一个关键字instanceof,它可以判断一 个对象是否为某个类(或接口)的实例或者子类实例,语法格式如下

Java程序设计教程 第四章

Java程序设计教程 第四章

4.1.5 方法
方法调用在Java语言中是一个表达式,它的一般形式为: 方法调用在Java语言中是一个表达式,它的一般形式为: 方法名 (实际参数表) 实际参数表) 实际参数表也用逗号分割,个数和形式参数表的个数相同, 类型和形式参数对应兼容.注意,即使实际参数为空,形 参也为空,方法名后面的圆括号也是不能省略的. 在程序设计中,经常会用到嵌套调用.即方法a调用方法b 在程序设计中,经常会用到嵌套调用.即方法a调用方法b, 而方法b又调用了方法c,如图4 而方法b又调用了方法c,如图4-4所示.
4.2 对象和类
4.2.1 类的定义 4.2.2 对象实例的创建 封装, 4.2.3 封装,继承与多态
4.2.1 类的定义
1. 类的声明 【例程4-1】SimpleCalculator.java 例程4 public class SimpleCalculator { private double base = 0; //数据成员, //数据成员, 存储计算结果 public void add(double arg) { //加法运算 //加法运算 base = base + arg; } public void minus(double arg) { //减法运算 //减法运算 base = base - arg; } public void multiple(double arg) { //乘法运算 {//乘法运算 base = base * arg; }
4.2.1 类的定义
2. 类的访问修饰符 在Java中存在着一些修饰符,用于控制类, Java中存在着一些修饰符,用于控制类, 对象,方法的访问权限,存储空间等. 类成员有四种访问控制级别:公有 (public),受保护(protected),包级, public),受保护(protected),包级, 私有(private),其开放程度各有不同. 私有(private),其开放程度各有不同.

Java编程基础及应用(第2版)教学课件第4章数组

Java编程基础及应用(第2版)教学课件第4章数组

第4章 数组
4.1理解数组 4.2数组变量的声明 4.3数组的创建和初始化 4.4数组的使用 4.5 Foreach循环 4.6深入理解数组 4.7多维数组 4.8本章小结
23
4.6深入理解数组 4.6.1内存中的数组 4.6.2基本数据类型数组的初始化 4.6.3引用类型数组的初始化
24
4.6.1内存中的数组
33
4.6.3引用类型数组的初始化
下面将结合示意图详细介绍这段代码的执行过程执行 Person[] students;代码时,这行代码仅仅在栈内存中定 义了一个引用变量,也就是一个指针,这个指针并未 指向任何有效的内存区。此时内存中存储示意图如图 4-7所示。
图4-7定义一个students数组变量后的存储示意图 34
int score[]; score=new int[10];
11
4.3.1创建数组对象
1. 静态初始化 静态初始化时由程序员显式指定每个数组元素的初始
值,由系统决定数组的长度。 静态初始化的语法格式如下: 数组名=new 类型标识符[]{数组元素1, 数组元素2, 数
组元素3,...} 例如:对包含10个学生成绩的score数组进行初始化 Score=new int[]{65, 34, 78, 81, 92, 89, 94, 76, 67,
86};
12
4.3.1创建数组对象
除此之外,静态初始化还有如下简化的语法格式: 数组名= {数组元素1, 数组元素2, 数组元素3,...} 在这种语法格式中,直接使用花括号来初始化数组,
花括号把所有的数组元素括起来形成一个数组。 在实际开发过程中,可能更习惯将数组定义和初始化
同时完成,代码如下: int[] Score={65, 34, 78, 81, 92, 89, 94, 76, 67, 86};

移动通信软件编程基础JAVA语言

移动通信软件编程基础JAVA语言
在给定主机名的情况 下,根据系统上配置 的名称服务返回其 IP 地址所组成的数组。
InetAddress类
//实现数据发送 import .*; public class UDPSend { public static void main(String[] args) throws Exception { DatagramSocket ds = new DatagramSocket(); String StrHello = " Hello world!!! "; DatagramPacket dp = new DatagramPacket( StrHello.getBytes(),StrHello.length(), InetAddress.getByName(""), 2000); ds.send(dp); ds.close(); } }
ServerSocket(int port, int backlog)
生成一个服务器 socket, 并且把它捆绑到指 定的本地端口。
ServerSocket(int port, int backlog, InetAddress bindAddr)
Java编写TCP网络程序
TCP协议是基于连接的协议,在正式收发数据前,必须和对方建立可靠的连接。 TCP协议能为应用程序提供可靠的通信连接,适合对可靠性要求高的数据通信系统使用。 利于TCP协议进行通信需要建立一个服务器端和一个客户端。就是我们常见的C/S模式。其中发起通信的称为客户端,服务器端只是等待请求后应答。
构造方法
说明
DatagramSocket()
构造数据报套接字并将其绑定到本地主机上任 何可用的端口。
DatagramSocket(int port)

java第4章

java第4章

多态
多态是指一个程序中同名的不同方法共存 的情况。这些方法同名的原因,是它们的最终 功能和目的都相同,但是由于在完成同一功能 时,可能遇到不同的具体情况,所以需要定义 含不同的具体内容的方法,来代表多种具体实 现形式。它是面向对象程序设计中的一个特性。 其目的是为了提高程序的抽象度、封闭性和简 洁性,统一一个或多个相关类对外的接口。 Java中提供两种多态机制:重载与覆盖。
图示
2、面向对象的分析阶段
(1)需求分析
需求分析的主要任务是明确用户的需求,包括对用户需 求的全面理解分析、筛选,明确要开发的软件系统的职责界 限、进行各种可行性研究和制订资源、进度预算等。 开始阶段,用户通常对其自身的需求的认识也比较模糊, 需求分析的任务就是把需求具体化,在用户和开发人员之间 达成共识。这期间,开发人员要向用户请教解决问题的具体 业务细则, 还要根据技术、资金、进度的可行性和效益对 这些需求进行分析和筛选,与用户协商,去掉用户的需求中 的不合理元素,形成一个合理的方案。 需求分析的过程是一个复杂、烦琐、甚至艰难的过程, 通常需要反复讨论、协商和修改,才能达成最后的一致。需 求分析非常重要,如果做的不好, 会形成隐患和障碍,影响 整个开发工作。需求分析最后应形成书面的需求陈述。
继承
继承是面向对象技术的各个特点中,最具有特 色,也是与传统方法最不相同的一个。继承实际上是 存在于面向对象程序的两个类之间的一种关系。当一 个类拥有另一个类的所有数据和操作时,就称这两个 类之间具有继承关系。被继承的类称为父类或超类, 继承了父类或超类所有属性的类称为子类。 一个父类可以同时拥有多个子类,这时这个父类实 际土是所有子类的公共属性的集合,而每一个子类则 是父类的特殊化,是在公共属性的基础上的功能、内 涵的扩展和延伸。 使用继承的主要优点,是使得程序结构清晰,降低 编码和维护的工作量 。

《移动通信软件编程基础—JAVA语言》JSP基础

《移动通信软件编程基础—JAVA语言》JSP基础

第13章 JSP基础【实验目标】 完成本章的内容以后,您将达到:JSP的概念、页面及运行原理搭建JSP运行环境Servlet的概念、特点及生命周期本章实验给出了全面的操作步骤,请学生按照给出的步骤独立完成实验,以达到要求的实验目标。

第一阶段——指导学习(40分钟)1. 编写第一个test.jsp,部署并运行1) 新建一个文件夹(如D:/MyJSP),在该文件夹下新建一个test.jsp的程序文件,输入以下JSP代码。

<%@ page contentType="text/html;charset=GB2312"%><HTML><HEAD><TITLE>JSP页面</TITLE></HEAD><BODY><%out.println("九九乘法表<P>");for(int i=1;i<=9;i++){for(int j=1;j<=i;j++){if (j!=1) out.print(",");out.print(j+"x"+i+"="+i*j);}out.println("<br>");}%></BODY></HTML>2) 拷贝C:\Tomcat5.5\conf\Catalina\localhost目录下的manager.xml文件到本localhost目录,重命名为MyJsp.xml,找到以下语句<ContextdocBase="${catalina.home}/server/webapps/manager">然后将该Context标签更改docBase属性如下,以配置我们第一步新建的d:/MyJsp为WEB服务器的虚拟目录<Context docBase="d:/MyJsp"privileged="true" antiResourceLocking="false" antiJARLocking="false">3)启动Tomcat,并在浏览器地址栏里敲入:http://localhost:9090/MyJsp/test.jsp 运行效果如下。

Java基础第4章.ppt

Java基础第4章.ppt
DataType varName[=value[,varName[=value]…];
如:int count; char c='a';
4.1.1 变量及其作用域
3. 变量的作用域:
一个变量从被创建、使用一直到 销毁的这一段时间称为变量的生 存期
一个变量的有效使用范围称为作 用域
4.1.1 变量及其作用域
}
4.4.3 switch语句
switch (表达式) { case c1: 语句组1; break; …… case ck: 语句组k; break;
[default: 语句组; break;]
}
计算结果必 须是int型 或字符型
c1,c2,…,ck 是int型或 字符型常量
4.4.3 条件运算符?:
2. public static void main(String args[ ]) {
3.
int result = 0;
4.
for(int i=1; i<=100; i++) {
5.
result += i;
6.
}
7.
System.out.println("result=" + result);
8. }
逻辑值,不能以数值来代替。
注意:
1. 语句1和语句2既可以是单语句,也 可以是语句块。
2. if语句可以嵌套,嵌套时,规定else 子句属于离它最近的if语句。
示例:
if(exp1) { statement1;
} else if(exp2) { statement2;
} elห้องสมุดไป่ตู้e statement3;

Java语言程序设计_基础篇_中文ppt_第四章

Java语言程序设计_基础篇_中文ppt_第四章

注意
在循环控制中,不要使用浮点值来比较值是否相等。 因为浮点值是某些值的近似值, 所以使用它们可能导致不精确的循环次数和不准确的结果。 考虑下面计算1 + 0.9 + 0.8 +…+ 0.1的代码: double item = 1; double sum = 0; while (item != 0) { // No guarantee item will be 0
… … …
System.out.println("Welcome to Java!"); System.out.println("Welcome to Java!"); System.out.println("Welcome to Java!");
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807
SubtractionQuizLoop
Run
17
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807
使用标志值结束循环
10
动画
跟踪while循环(续)
int count = 0;
因为count为1 所以(count < 2) 依旧为真
while (count < 2) {
System.out.println("Welcome to Java!"); count++; }

java第四章

java第四章

=
+

抽 象 实 例 化
4.2
类与对象
类的严格定义及修饰字
[类的修饰字 class 类名称 [extends 父类名称 类的修饰字] 父类名称][implements 接口名称列表 类的修饰字 { 变量定义及初始化; 变量定义及初始化; 方法定义及方法体; 方法定义及方法体; } 类体, 类体,其中定义了该类中所有 的变量和该类所支持的方法, 的变量和该类所支持的方法, 称为成员变量和成员方法。 称为成员变量和成员方法。
private String s; ;
public void showString() { System.out.println(s); } public void changeString(String str) { s = str; }
}
class Hello {
private String s; ;
可以将现实生活中的对象 经过抽象, 经过抽象,映射为程序中 的对象。 的对象。对象在程序中是 通过一种抽象数据类型来 描述的, 描述的,这种抽象数据类 型称为类( 型称为类(class)。 )。
2、面向对象的概念—类 、面向对象的概念 类
类是描述对象的“基本原型” 类是描述对象的“基本原型”,它定义一类对 象所能拥有的数据和能完成的操作。 象所能拥有的数据和能完成的操作。在面向对象 的程序设计中,类是程序的基本单元。 的程序设计中,类是程序的基本单元。 相似的对象可以归并到同一个类中去, 相似的对象可以归并到同一个类中去,就像传 统语言中的变量与类型关系一样。 统语言中的变量与类型关系一样。 程序中的对象是类的一个实例, 程序中的对象是类的一个实例,是一个软件单 元,它由一组结构化的数据和在其上的一组操作 构成。 构成。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章类和对象的高级特征第4章类和对象的高级特征
【实验目标】
完成本章的内容以后,您将达到:
◆理解类和对象
◆理解抽象和封装
◆理解对象与类之间的关系
◆掌握包的创建和导入
1G ——《移动通信软件编程基础——Java》实验手册
本章实验给出了全面的操作步骤,请学
生按照给出的步骤独立完成实验,以达
到要求的实验目标。

第一阶段——指导学习(40分钟)
1. 编写一个Demo.java,编译并运行
1)建立文件名为“Demo.java”,输入以下程序代码。

[注意:Java文件名必
须与用public 修饰的类名保持一致]
第4章类和对象的高级特征
1G ——
《移动通信软件编程基础——Java 》实验手册
2)编译并运行效果如下。

第二阶段——练习(40分钟)
习题一
编写一个抽象类Shape ,具有两个抽象方法girth()和area()分别计算周长和面积的方法。

两个属性width 和height 代表四边形的和长和宽,另外编写两个Square 类和Rectangle 类,继承Shape 类,分别实现两个抽象方法,
第4章类和对象的高级特征计算正方形和长方形的周长和面积。

习题二
编写一个接口A,包含两个类型为void的方法method1和method2;编写一
个接口B继承自接口A,再包含一个类型为void的method3方法;再编写一
个类C实现B接口,要求在B类中实现method1和method2和method3方
法。

最后写一个Test类,在其main
方法中产生C的实例,分别调用这三
个方法。

第三阶段——作业(课后)
作业一
编写一个插座接口,该接口中限定插座的电压为220-380V,插头型号有两种:两孔和三孔。

有一个方法可以实现返回当前电压。

厂家在生产插座时,要按照接口要求来实现。

自定义一个插座类来实现插座接口。

相关文档
最新文档