Java电子教案第4章精品PPT课件

合集下载

第四章Java面向对象特性课件

第四章Java面向对象特性课件
第4章 Java面向对象特性
对象的基本概念
面向对象程序语言三个关键特点: 封装 ( Encapsulation ) 多态 ( Polymorphism ) 继承 ( Inheritance )
1
第4章 Java面向对象特性
抽象数据类型
基本数据类型和聚集类型的变量与一些操作 (如+, -)之间不需特殊的联系。 在面向对象语言中,在数据类型的声明与操作
数据隐藏与封装举例
class Date{
private int day, month, year;
void setDate( int a, int b, int c){
day = a;
month = b;
year = c ;
}
}

Date d1;
d1=new Date( ); d1.setDate(30,9,2001);
4
第4章 Java面向对象特性
对象生命周期
创建对象 使用对象 清除不用的对象
5
第4章 Java面向对象特性
创建对象
创建对象的三个步骤: 声明 (Declaration ) 实例化(Instantiation) 初始化(Initialization)
例: Point origin_one ; origin_one = new Point(23, 94); Rectangle rect_one = new Rectangle(origin_one, 100, 200); Rectangle rect_two = new Rectangle(50, 100);
public void changeObjValue( PassTest ref){
ref.ptValue = 99.0f; }

JAVA课件lesson4PPT教学课件

JAVA课件lesson4PPT教学课件

例外处理机制
6
例外的产生(续)
4
编程抛出例外:
– 在程序的相应部分抛出例外:
– throw new XXXException();
– throw new XXXException(String describe);
例:String readData() throws EOFException {……………….. throw new EOFException(“error”); ………………….}
4
例外处理机制
主要内容
4
引入例外机制 Java的例外处理
– 例外的抛出、捕获与处理
自定义例外 使用finally
2020/12/10
例外处理机制
2
对错误的处理
程序执行的错误 处理错误
– 向用户通知错误 – 保存全部工作 – 让用户适当地退出程序
例外处理
– JAVA检测和报告错误的机制
2020/12/10
} //end of class Inheriting
2020/12/10
2020/12/10
例外处理机制
7
例外的捕获和处理
4
警戒区:可能会引起例外的代码段
try{ 警戒区代码
}catch(ExceptType e){ 例外处理代码
//引起例外 //捕获例外 //处理例外
}
例外处理代码(Exception handlers)相当于 一类特殊的方法调用
2020/12/10
顺序: 先具体、后一般)
2020/12/10
例外处理机制
9
例外处理过程
4
当程序执行发生异常或遇到关键字 throw 时就抛出一个例外

Java课件第四章

Java课件第四章

{
=name;
}
}
10
主板厂商的实现
class Mainboard
{
String strCpu;
VideoCard vc;
void setCpu(String strCpu)
{
this.strCpu=strCpu;
}
void setVideoCard(VideoCard vc)
{
3
实现interface:An class implements an interface
to have the interface. 格式:class className implements BaseInterfaces
实现interface的类,其interface中所有的方法 必须被“实现”,否则这个类成为一个抽象类。
Athlete Amigo=new Athlete(); Amigo.run(); Amigo.jump(); } }
6
4.1 接口的定义
【例2】定义一个沙发接口继承多个接口。
interface Sittable {
void sit(); } interface Lie {
void sleep(); } interface Sofa extends Sittable,Lie {
}
7
4.1 接口的定义
【例3】定义一个沙发类来实现多个接口的方法。
interface Sittable {
void sit(); } interface Lie {
void sleep(); } class Sofa implements Sittable,Lie {
public void sit(){} public void sleep(){} }

java第4章PPT教学课件

java第4章PPT教学课件
应用软件开发的起点是用户的实际问题和需求,终 点是一个可较好解决用户的实际问题和满足用户原始 需求的应用软件。从起点到终点的整个开发过程,若采 用面向对象的方法,软件开发过程可以大体划分为以 上的三个阶段。当然这个过程并不是线形的,通常会包 括一些反馈和某些步骤的修改,呈现一种螺旋型上升的 曲线。
2020/12/12
2020/12/12
3
图示:类与对象的关系
2020/12/12
4
4.2 面向对象软件开发的基本过程
1、面向对象的软件开发过程 2、面向对象的分析阶段 3、面向对象的设计阶段 4、实现阶段
2020/12/12
5
1、面向对象的软件开发过程ቤተ መጻሕፍቲ ባይዱ
用面向对象的方法来解决实际问题,是一个比较复 杂的过程,它包括面向对象的分析(OOA)、面向对象的 设计(OOD)和面向对象的编程(OOP)。
这些需求进行分析和筛选,与用户协商,去掉用户的需求中 的不合理元素,形成一个合理的方案。
需求分析的过程是一个复杂、烦琐、甚至艰难的过程, 通常需要反复讨论、协商和修改,才能达成最后的一致。需 求分析非常重要,如果做的不好, 会形成隐患和障碍,影响
整个开发工作。需求分析最后应形成书面的需求陈述。
2020/12/12
2020/12/12
2
2、什么是类
在Java程序中,类是创建对象的模板,对象是类的实例, 任何一个对象都是隶属于某个类的。
类是同种对象的集合与抽象。分类所依据的原则是抽象, 即抽象出能反映与当前目标有关的本质特征,而忽略那些与当 前目标无关的非本质特征,从而找出事物的共性,把具有共同 性质的事物归结为一类,得出一个抽象的概念——类。
6
图示
2020/12/12

Java实用PPT课件第4章.ppt

Java实用PPT课件第4章.ppt

2020/10/8
3
3.简单的Circle类
面向对象的一个重要思想就是通过抽象得到类,即将某些数据以及针对这些 数据上的操作封装在一个类中,也就是说,抽象的关键点有两点一是数据,二 是数据上的操作。
我们对所观察的圆做如下抽象:
☃圆具有半径之属性。
☃可以使用半径计算出圆的面积。
现在根据如上的抽象,编写出如下的Circle类。
Circle circle; 为Circle类声明的circle对象分配变量的代码如下:
circle = new Circle(); 对象通过使用“.”运算符操作自己的变量和调用方法。 对象操作自己的变量的的格式为:对象.变量;
例如,circle.radius=100; 调用方法的格式为: 对象.方法;
(1)封装:面向对象编程核心思想之一就是将数据和对数据的操作封装在 一起。通过抽象,即从具体的实例中抽取共同的性质形成一般的概念,比如 类的概念。
人们经常谈到的机动车类就是从具体的实例中抽取共同的属性和功能形成 的一个概念,那么一个具体的轿车就是机动车类的一个实例,即对象。
一个对象将自己的数据和对这些数据的操作合理有效地封装在一起,例 如,每辆轿车调用“加速”、“减速”改变的都是自己的运行速度。
第4章 类与对象
本章导读
类声明和类体及其构成 构造方法与对象的创建 对象的引用与实体 成员变量、方法和方法重载 关键字this 包
本章导读 import语句 访问权限 对象的组合 基本类型数据的类包装 反编译和文档生成器 JAR文件的使用
2020/10/8
1
4.1 面向对象编程
1. 面向对象编程的三个特性
2020/10/8
2
2.提出一个简单的问题

《java程序设计》第4讲精品PPT课件

《java程序设计》第4讲精品PPT课件

11.10.2020
11
(3)引用一维数组元素
下标
数组名
0 1 5 3 4 5 6 7 8 9 10 11 12 13 14
arrLeabharlann -28 -1 -3 16 20 25 16 16 8
1 8
19 45 21 -2
内容
• 数组的每个元素通过它在数组里的位置 来引用:数组名 [ 下标 ],例如:arr[7]
• 使用一个不在0到N-1范围内的下标值系统将 发生运行时异常,这是由于Java运行系统会 对数组下标自动进行范围越界检查。例如: arr[-1]、arr[15]
• 11.10.2020 例4.1
13
• 对数组的处理通常与循环语句结合在一起,实 现对数组元素依次作出某种处理。例如:
int myArray[ ] = new int[5]; for ( int index = 0; index < myArray.length;
11.10.2020
16
• 对于对象数组来说,Java只把对象的引用存储 在数组里,而不是存储整个对象。
cou1n5t = 0
• 当创建有N个元素的数组时,编译器为N个该 元素类型的变量分配空间;对于元素是引用类 型的数组,编译器将分配N个地址的空间。
例如:double arr[ ] = new double[20]; // 编译器将分配20*8个字节的存储空间 String strarr[ ] = new String[5]; // 编译器将分配5*4个字节的存储空间
strarr[k] = new String( );
strarr
strarr
strarr
11.10.2020
:vcaoSluutnre:vcitnaoS==lugut“nr0e:vc”itnaoS==lugut“nr0e:vc”itnaoS==lugut“nr0e:v”itnaS==lgut“r0e”in=g“”

电子教案第4章

电子教案第4章
float getTrangleArea()
void setCircleRadius(double radius)
等。
方法声明之后的一对大括号“{”、“}”以及之间的内 容称作方法的方法体。类中的方法必须要有方法体, 如果方法的类型是void类型,方法体中也可以不书写 任何语句。
2.方法体的构成
方法体的内容包括变量的定义和合法的Java语句, 在方法体中声明的变量以及方法的参数称作局部变量, 局部变量仅仅在该方法内有效。方法的参数在整个方 法内有效,方法内定义的局部变量从它定义的位置之 后开始有效。写一个方法和C语言中写一个函数完全类 似,只不过在这里称作方法。局部变量的名字必须符 合标识符规定,遵守习惯:名字如果使用拉丁字母, 首写字母使用小写。如果由多个单词组成,从第2个单 词开始的其它单词的首写字母使用大写。
{
float x;
static int y;
} 类变量是与类相关联的数据变量,也就是说,类变量
是和该类所创建的所有对象相关联的变量,改变其中一 个对象的这个类变量就同时改变了其它对象的这个类变 量。
因此,类变量不仅可以通过某个对象访问也可以直 接通过类名访问。
实例变量仅仅是和相应的对象关联的变量,也就 是说,不同对象的实例变量互不相同,即分配不同的 内存空间,改变其中一个对象的实例变量不会影响其 它对象的这个实例变量。实例变量必须通过对象访问。
rectangleOne =new Rect(10,20);
rectangleTwo =new Rect(33,66);
当创建对象rectangleOne时,Rect类中的成员变量 sizeA、sizeB被分配内存空间,并返回一个引用给 ectangleOne;
当再创建一个对象rectangleTwo时,Rect类中的成 员 变量sizeA、sizeB再一次被分配内存空间,并返回一 个 引用给rectangleTwo 。内存模型如图4.3所示。

经典课件:java语言程序设计案例教程-第4章

经典课件:java语言程序设计案例教程-第4章

.
2
本章逻辑结构
4.2 方法 4.2.1 方法
实例33 求最大公因数和最小公倍数之二 4.2.2 递归 实例34 费波纳契数列 实例35 插入排序法之二 实例36 哥德巴赫猜想
.
3
4.1 数组
4.1.1 什么是数组
在实际应用中,经常需要处理一批相互有联系、有一定顺序、同 一类型和具有相同性质的数据。例如,50个学生的期末总成绩,一个 矩阵中的所有数据等等。Java语句提供了数组来保存和处理这类数据。 数组是指一组类型相同的数据,每个数据称为一个数组元素。例如: 如果上述50个学生的期末总成绩构成一个数组,则每个学生的成绩叫 数组元素;如果某个矩阵中的数据构成一个数组,则其中的每个数字 叫数组元素。
第4章 数组和方法
本章主要介绍Java语言的数组和方法。通过学习读者可以掌握 方法及其参数的使用、方法调用方法、数组的使用和排序, 以及方法、数组与循环语句的综合应用。
本章要点
4.1 数组 4.2 方法 思考与练习4
.
1
本章逻辑结构
4.1 数组
4.1.1 什么是数组 4.1.2 数组的使用 实例27 投票选佳丽 4.1.3 二维数组 实例28 求两个矩阵的和 实例29 矩阵的行列互换 4.1.4 什么是排序 实例30 插入排序法 实例31 选择排序法 实例32 冒泡排序法
图4.1 数组results的结构
.
8
4.1 数组
4.1.2 数组的使用
2.数组的初始化 数组的初始化是指不使用系统的数组默认值,自行给数组赋初值,其 方法有2种: (1)按照顺序依次给每个元素赋值。例如给数组results赋值: results[0] = 87; results[1] = 90; …… results[48] = 45; results[49] = 100;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
界面
图4.2 JAVA常用GUI组件
4.2 AWT和Swing
AWT
抽象窗口工具包AWT (Abstract Window Toolkit) 是 Java 提供的建立图形用户界面GUI (Graphics User Interface)工具集,可用于生成现代的、鼠标控制的图 形应用接口,并且可以无需修改,就可以在各种软硬件 平台上运行。
java.awt包中提供了GUI设计所使用的类和接口,提供了 各种用于GUI设计的标准类,图4.3显示了AWT中主要类之 间的关系。由图可知,AWT中的类按其功能的不同可分为 5大类。 图4.3 AWT类层次
基本GUI组件类
➢ Java的图形用户界面的最基本组成部分是组件 (Component),组件是一个可以以图形化的方式 显示在屏幕上并能与用户进行交互的对象,例如一 个按钮,一个标签等。组件不能独立地显示出来, 必须将组件放在一定的容器中才可以显示出来。用 来提供人机交互的基本控制界面
基本图形类
➢ 用于构造图形界面的类,如字体类(Font)、绘图 类(Graphics)、图像类(Image)和颜色类(Color) 等
Swing
组件从功能上分可分为
顶层容器:JFrame、JApplet、JDialog和JWindow共4个。
中间容器:JPanel、JScrollPane、JSplitPane和JToolBar。
和JButton 4.6 HappyChat登录界面 4.7 本章小结 4.8 上机实训
4.1 HappyChat登录界面分析
HappyChat聊天系统的登录程序用于实现用户登录, 已注册用户通过输入用户名和口令在聊天服务器端 进行验证,完整界面如图4.1所示
Java的广泛应用,除归因于其强大的跨平台特性、 完善的安全机制及其分布式计算等特性外,Java提 供的丰富的图形类库也是功不可没。良好的GUI可 以让程序更具有吸引力、更好操作、更容易学习。 Java可以通过图4.2所示的GUI组件进行应用程序界 面的设计
特殊容器:在GUI上起特殊作用的中间层,如 JInternalFrame、JLayeredPane和JRootPane。
基本控件:实现人际交互的组件,如JButton, JComboBox, JList, JMenu, JSlider, JTextField。
不可编辑信息的显示:向用户显示不可编辑信息的组件, 例如JLabel, JProgressBar, JToolTip。
第4章 HappyChat用户登录界面设计
学习目的与要求:
理解AWT和Swing的本质区别 熟练使用JFrame构造窗口 熟练使用JPanel构造容器对象 熟练使用基本组件构造GUI界面
第4章 HappyChat用户登录界面设计
4.1 HappyChat登录界面分析 4.2 AWT和Swing 4.3 JFrame类 4.4 JPanel类 4.5 JLabel、JTextField、JPasswordField
AWT可用于Java的applet和applications中, AWT设计的 初衷是支持开发小应用程序的简单用户界面。
它支持图形用户界面编程的功能包括:用户界面组件、 事件处理模型、图形和图像工具(包括形状、颜色和字 体类)和布局管理器,可以进行灵活的窗口布局而与特 定窗口的尺寸和屏幕分辨率无关。
可编辑信息的显示:向用户显示能被编辑的格式化信息 的组件,如JColorChooser, J, J, JTable, JTextArea
SWT
SWT是Eclipse组织为了开发Eclipse IDE环境所编写 的一组底层图形界面 API。然而到目前为止,SWT 无论是在性能和外观上,都超越了SUN公司提供的 AWT和Sing。
方法名
void setBackground(Color c) void setEnabled(boolean b) void setFont(Font f) void setForeground(Color c) void setLocation(int x, int y) void setName(String name) void setSize() void setVisible(boolean b) boolean hasFocus() int getHeight() int getWidth()
➢ Container常用的有三个主要类型:窗口(Window)、 面板(Panel)和 Applet
布局管理类
➢ 容器里组件的位置和大小是由布局管理器决定的, 每个容器都有一个布局管理器,当容器需要对某个 组件进行定位或判断其大小尺寸时,就会调用其对 应的布局管理器
事件处理类
➢ 在JDK1.1及其以后的版本中,AWT采用委托事件模 型进行事件处理,委托事件模型包括事件源、事件 和事件监听器,详细内容请参阅第7章
➢ 类ponent是许多组件类的父类, Component类中封装了组件通用的方法和属性,如 图形的组件对象、大小、显示位置、前景色和背景 色、边界、可见性等,因此许多组件类也就继承了 Component类的成员方法和成员变量,这些成员方 法是许多组件都共有的方法,常见的成员方法如表 4.2所示
方法功能
设置组件的背景颜色 设置组件是否可用 设置组件的文字 设置组件的前景颜色 设置组件的位置 设置组件的名称 设置组件的大小 设置组件是否可见 检查组件是否拥有焦点 返回组件的高度 返回组件宽度
表4.2 Component类常用方法
容器类
➢ 容器Container也是一个类,它允许其他的组件被放 置在其中。容器本身也是一个组件,具有组件的所 有性质,但是它的主要功能是容纳其它组件和容器。 容器java.awt.Container是Component的子类,一个 容器可以容纳多个组件,并使它们成为一个整体。 容器可以简化图形化界面的设计,以整体结构来布 置界面。所有的容器都可以通过add()方法向容器中 添加组件。
相关文档
最新文档