![Java程序设计教程-chapter3_第1页](http://file4.renrendoc.com/view/e8a64fee6db834115372f80ab6ba0e55/e8a64fee6db834115372f80ab6ba0e551.gif)
![Java程序设计教程-chapter3_第2页](http://file4.renrendoc.com/view/e8a64fee6db834115372f80ab6ba0e55/e8a64fee6db834115372f80ab6ba0e552.gif)
![Java程序设计教程-chapter3_第3页](http://file4.renrendoc.com/view/e8a64fee6db834115372f80ab6ba0e55/e8a64fee6db834115372f80ab6ba0e553.gif)
![Java程序设计教程-chapter3_第4页](http://file4.renrendoc.com/view/e8a64fee6db834115372f80ab6ba0e55/e8a64fee6db834115372f80ab6ba0e554.gif)
![Java程序设计教程-chapter3_第5页](http://file4.renrendoc.com/view/e8a64fee6db834115372f80ab6ba0e55/e8a64fee6db834115372f80ab6ba0e555.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计教程
SixthEditionby
Lewis&LoftusChapter3:
使用类和对象使用类和对象使用类和对象所提供的服务是面向对象软件的基本内容,并可为编写用户自己的类奠定基础本章目标:对象的创建和引用String
类Java标准类库Random
类和Math类格式化输出枚举类型包装类图形组件和容器标签组件和图像2大纲对象的创建和引用String类包格式化输出枚举类型包装类图形组件和容器标签组件和图像3建立对象变量名代表一个基本类型值或一个对象对象变量也必须声明,定义对象的类可视为对象的类型Stringtitle;上述声明后的变量没有存放任何数据一个对象变量不能保存对象本身,而是保存了该对象的地址,即对象引用变量4建立对象一般通过new
运算符实例化一个对象title=newString("JavaSoftwareSolutions");String构造方法,初始化新对象创建一个对象也叫实例化一个对象是一个特定类的实例5调用方法对象初始化后,可用“.”运算符来引用对象的方法count=title.length()方法可能会返回调用值,该值可用于赋值表达式或运算表达式方法的调用可想象为要求对象完成一个服务6引用基本变量为它的实际值,对象变量为指向对象存储单元的指针一般不直接用对象的实际地址表示对象,而是采用图形化方法表示对象"SteveJobs"name1num1387赋值赋值操作是取得一份数值后将其存储在变量空间基本数据类型:num138num296Before:num2=num1;num138num238After:8引用赋值对于对象引用,赋值操作为拷贝地址:name2=name1;name1name2Before:"SteveJobs""SteveWozniak"name1name2After:"SteveJobs"9别名两个或以上的引用变量指向同一个对象时,称它们为彼此的别名一个对象可以被多个引用变量所引用别名很有用,但要小心使用当利用一个引用改变其所指的对象时,同时也使作为别名的所有引用指向的对象发生了改变10垃圾回收当一个对象的最后一个引用丢失时,该对象不能再被程序所使用此时该对象没有任何用处,也叫“垃圾”Java自动执行垃圾对象回收,将其所占内存空间释放给系统其他编程语言的程序员必须为垃圾对象空间回收负责11大纲对象的创建和引用String类包格式化输出枚举类型包装类图形组件和容器标签组件和图像12String类String类虽然不是基本数据类型,但使用非常普遍,因而不需要采用new
操作符去创建String
对象title="JavaSoftwareSolutions";这种特殊的语法只对String类有效每一个string文本(由双引号封装)代表一个
String对象13String方法String
对象一旦创建,内容和长度就不能再改变因而称String
类的对象是不可变的不过String类提供了几个方法以返回新的String对象,这些新对象是对原字符串值修改的结果14String索引有时有必要引用字符串里面的特定字符可以通过字符索引的概念来处理字符串字符串中第一个字符的索引为0,下一个字符索引为1,依次类推字符串“Hello”,字符‘H’
在索引0,字符
‘o’
在索引4SeeStringMutation.java
15大纲对象的创建和引用String类包格式化输出枚举类型包装类图形组件和容器标签组件和图像16类库类库由一组支持程序开发的类组成Java标准类库可以存在于Java的任何一种开发环境中类库由几组相关的类簇构成(System,Scanner,String)除了标准类库,还可以调用第三方类库17包Java标准类库的类还被划分为包,每个类属于一个具体的包Java语言标准类库的包:包名java.utiljavax.xml.parsers功能通用功能创建applets绘图和建立图形界面扩展图形功能网络通信实用功能XML文档处理18Import声明当需要在程序中使用类库的类时,每次引用时必须给出类的全名java.util.Scanner或者可以预先import
需要的类,然后就可以直接使用类名引用importjava.util.Scanner;为了使用指定包中的任何类,可用*通配符importjava.util.*;19Import声明每当编写一个Java程序时,java.lang
包中的类将自动成为可用类相当于所有程序都包含如下语句:importjava.lang.*;这就是为什么我们能够在之前的java程序例子里直接使用System
或String
类Scanner类为java.util包的一部分,因而使用前必须先import20Random类Random
类存在于java.util包Random类模拟了伪随机数发生器Random
对象基于一个种子值,在执行一系列复杂计算后,将会产生随机数SeeRandomNumbers.java
21Math类Math类存在于java.lang
包Math类提供了大量用于计算的基本数学函数包括:绝对值平方根幂三角函数22Math类Math
类的所有方法都是静态方法静态方法可以直接通过类名调用–不需要
Math类的对象value=Math.cos(90)+Math.sqrt(delta);SeeQuadratic.java
23大纲对象的创建和引用String类包格式化输出枚举类型包装类图形组件和容器标签组件和图像24格式化输出NumberFormat类和DecimalFormat
类用于格式化信息,使得打印或显示出的信息格式编排清晰
NumberFormat
类提供了通用的数据格式化能力DecimalFormat
类在模版基础上进行格式化数据两者都属于java.text包25格式化输出NumberFormat类为静态方法getCurrencyInstance()getPercentInstance()每个formatter对象拥有一个format方法,以特定格式返回信息SeePurchase.java
26格式化输出DecimalFormat
类可通过不同方法格式化浮点数例如,可以指定浮点数只显示小数点后三位DecimalFormat类的构造器获取代表模版的字符串后,以该模版格式化数字SeeCircleStats.java
27大纲对象的创建和引用String类包格式化输出枚举类型包装类图形组件和容器标签组件和图像28枚举型Java提供了一种枚举型数据类型,可用于声明枚举型变量枚举值可以定义为所希望的任何标识符下列声明语句创建了一个Season枚举类型enumSeason{winter,spring,summer,fall};枚举型通过列举(枚举)出变量所有可能的取值29枚举型一旦定义了枚举类型,就可以用该类型声明枚举类型Seasontime;
并且可以通过如下语句赋值time=Season.fall;枚举值通过枚举类型名访问枚举类型是类型安全的,保证取值有效性30序数值枚举型的每个枚举值在Java内部保存为代表枚举值序数的整型数第一个枚举值的序数值为0,第二个枚举值的序数为1,依次类推程序不能将一个数值赋给一个枚举型变量31枚举类型一个枚举类型是一种特殊的类,枚举型变量是对象变量ordinal
方法返回与一个枚举型值相关联的序数值name
方法返回枚举值名SeeIceCream.java
32大纲对象的创建和引用String类包格式化输出枚举类型包装类图形组件和容器标签组件和图像33包装类java.lang
包含有包装(wrapper)
类,代表一种具体的基本数据类型基本类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBooleanvoidVoid34包装类Integer类创建的对象将保存一个int型值 Integerage=newInteger(40);包装类对象可用作包含其他类型对象的容器35包装类包装类提供了管理基本类型对应的静态方法例如,Integer
类有一个静态方法paseInt,用于将存放在String串中的整型值转换为int型值:num=Integer.parseInt(str);包装类定义了很有用的静态常量例如,Integer类包含MIN_VALUE
和MAX_VALUE
两个静态常量,分别代表int型数据的最大值和最小值36自动包装自动包装是基本数据类型与相应的包装对象之间的自动转换: Integerobj; intnum=42; obj=num;上述代码将一个int型值赋给Integer对象引用变量与上述类型转换相反的转换称为拆除包装(unboxing),在需要时自动转换37大纲对象的创建和引用String类包格式化输出枚举类型包装类图形组件和容器标签组件和图像38组件和容器除了第二章的applet程序,其余我们讨论过的程序都是基于文本的它们也叫命令行应用程序,通过简单的文本提示与用户交互本节会探讨拥有图形用户界面的Java程序图形组件是具有图形用户界面的Java应用程序的基础39GUI组件一个GUI组件是一个对象,代表一个用于显示信息或允许用户以某种方式与程序进行交互的屏幕元素。GUI组件包括标签、按钮、单行文本框GUI相关的类主要定义在java.awt
和javax.swing
包抽象窗口工具包(AbstractWindowingToolkit,
AWT)是JavaGUI的原始版Swing
是后期增加的包,提供的组件比AWT包的组件更加多样化上述两个包在创建JavaGUI应用程序时都不可缺少40GUI容器GUI容器是一个保存和组织其他组件的特殊GUI组件框架(frame)是一个容器,用于显示基于GUI的Java应用程序界面一个框架显示为具有标题栏的独立窗口,可以根据需要用鼠标拖曳着在屏幕上重定位和改变窗口大小面板(panel)也是一个容器,但与框架不同,面板自身不能独立显示面板必须加到一个可以显示它的容器中,面板也不能独自移动,只能随这包含该面板的容器移动41GUI容器GUI容器分为两类:重量级容器和轻量级容器重量级容器由支持程序运行的底层操作系统管理轻量级容器由Java程序自己管理在探讨GUI开发时,这种区别有时很重要框架是重量级容器,面板则是轻量级容器42标签标签(label)组件用于显示用户界面的一行文本,也可以显示一幅图片标签最常用于显示信息或表示GUI中的其他组件下面分析一个使用了框架、面板和标签的例子SeeAuthority.java该程序不是交互式程序,但可以移动位置或缩放框架大小43布局管理器每个容器都由称为布局管理器(layoutmanager)的对象进行管理布局管理器负责容器内的组件如何部署位置当用户界面有重要事件发生时,系统将与布局管理器协商新的布局位置除非指定了排列位置,否则面板中的组件总是试图按行顺序排列44嵌套的面板可以对面板进行嵌套,建立一个复杂的组件容器层次结构复杂的容器层次结构可以满足所需的可视化效果NestedPanels
例子创建两个子面板,每个面板上面有一个标签,两个子面板都在另一个面板上面,然后在将该面板加入框架的内容窗格SeeNestedPanels.java
45大纲对象的创建和引用String类包格式化输出枚举类型包装类图形组件和容器标签组件和图像
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不战而胜的保险销售技巧课件
- 机器人技术及其应用概述课件
- 公共关系练习题复习试题及答案
- 《SVPWM控制技术》课件
- 《小数运算定律》课件
- 《细胞学相关知识》课件
- 《疫源地消毒技术》课件
- 重难点专题 1-1 函数的对称性与周期性问题【18类题型】(解析版)-2025届高考数学热点题型归纳与重难点突(新高考专用)
- 《通过激素调节》课件
- 《高速脉冲输出指令》课件
- 中国近现代史纲要ppt全共64页课件
- 工程勘察设计收费标准快速计算表(EXCEL)
- 甲基乙基酮2-丁酮MSDS危险化学品安全技术说明书
- 腰椎间盘突出症(腰痹病)中医临床路径
- 教学团队建设总结报告
- 装饰施工进度计划网络图及横道图
- 【大学】挤出管材(P64)ppt课件
- 实木电脑桌书桌安装图
- 大学物理课后习题答案北京邮电大学出版社
- 俱乐部经营俱乐部经营
- 暗黑破坏神2所有绿色套装(大图)
评论
0/150
提交评论