版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Java2程序设计实用教程,叶核亚,Java2程序设计实用教程,第1章 概述 第2章 Java语言基础 第3章 面向对象技术 第4章 Java类和对象的高级特征 第5章 异常处理 第6章 图形界面设计 第7章 多线程机制 第8章 输入输出流 第9章 Applet应用程序 第10章 网络通信 第11章 Web开发技术JSP 第12章 J2EE概论,Java2程序设计实用教程叶核亚,第4章 Java类和对象的高级特征,4.1 接口 4.2 内部类 4.3 包,Java2程序设计实用教程叶核亚,4.1 接口,Java只支持单重继承机制,不支持多重继承,即一个类只能有一个超类。单继承性使得Java结
2、构简单,层次清楚,易于管理,更安全可靠。 Java提供了接口用于实现多重继承,一个类可以实现多个接口。这样,既实现了多重继承的功能,同时又避免了C+中因多重继承而存在的隐患。 4.1.1 定义接口 4.1.2 实现接口,Java2程序设计实用教程叶核亚,4.1.1 定义接口,接口(interface)是没有实现的方法和变量的集合。接口的定义与类的定义相似,格式为: 修饰符 interface 接口名 方法1; 方法2; ,Java2程序设计实用教程叶核亚,例4.1 声明接口。,interface Student_info /学生情况接口 int year = 2002; int age();
3、void output(); ,Java2程序设计实用教程叶核亚,4.1.2 实现接口,一旦定义了一个接口,一个或更多的类就能实现这个接口。类声明的格式是: 修饰符class类名extends超类名 implements接口名1,接口名2,,图4.1 继承机制,Java2程序设计实用教程叶核亚,例4.2 实现接口的类。,Java2程序设计实用教程叶核亚,例4.3 一个类实现多个接口。,Java2程序设计实用教程叶核亚,4.2 内部类,一个类被嵌套定义于另一个类中,称为内部类(inner class),也称为嵌套类。包含内部类的类称为外部类。与一般的类相同,内部类可以具有成员变量和成员方法。通过
4、建立内部类的对象,可以存取其成员变量和调用其成员方法。 4.2.1 内部类特性 4.2.2 静态内部类,Java2程序设计实用教程叶核亚,例4.4 内部类的定义。,Java2程序设计实用教程叶核亚,4.2.1 内部类特性,内部类的类名只能用在外部类或语句块之内。 内部类作为外部类的成员。,Java2程序设计实用教程叶核亚,例4.5 嵌套的两个类之间的访问规则,Java2程序设计实用教程叶核亚,3.外部类与内部类各有自己的成员,例4.6 内部类与外部类的成员同名问题,Java2程序设计实用教程叶核亚,4.内部类可以定义为抽象类型,但需要被其他的内部类继承或实现,例4.7 抽象内部类。,Java2
5、程序设计实用教程叶核亚,5.内部类可以是一个接口,这个接口必须由另一个内部类来实现,例4.8 内部接口。,Java2程序设计实用教程叶核亚,4.2.2 静态内部类,例4.9 静态公用内部类。,Java2程序设计实用教程叶核亚,4.3 包,包(package)是Java提供的一种区别类名字空间的机制,是类的组织方式,包对应一个文件夹,包中还可以再有包,称为包等级。 4.3.1 Java的API介绍 4.3.2 引用Java定义的包 4.3.3 自定义包,Java2程序设计实用教程叶核亚,4.3.1 Java的API介绍,Java提供的用于语言开发的类库,称为应用程序编程接口API(Applica
6、tion Programming Interface),分别放在不同的包中。,Java2程序设计实用教程叶核亚,Java的常用包,java.lang语言包 java.util 实用包 java.awt抽象窗口工具包 java.text文本包 java.io输入输出流的文件包 java.appletApplet应用程序 网络功能,Java2程序设计实用教程叶核亚,1. 语言包,Object类 数据类型包装类(The Data Type Wrapper) 字符串类 数学类Math 系统和运行时类System、Runtime 类操作类Class 错误和异常处理类Throwable、Exception
7、、Error 线程类Thread 过程类Process,Java2程序设计实用教程叶核亚,Object类,Object类是Java类层次的根。常用方法有:复制对象方法clone(),比较两个对象是否相等的equals()方法,将对象转化为字符串的toString()方法,获得对象的类getClass()方法等。 equals(Object obj)方法与Java运算符“=”的含义相同,用法不同。当两个值、对象(变量)与值、两个变量比较时,使用运算符“=”。当比较两个对象时,使用equals(Object obj)方法,返回true时表示两个对象相同。例如, char ch=A; if (ch=
8、A) | (ch=a) /变量与值比较 String str1=123,str2=null; if (str1!=null)/对象与值比较 System.out.println(str1.equals(str2);/两个对象比较,Java2程序设计实用教程叶核亚,数据类型包装类(The Data Type Wrapper),对应Java的8个基本数据类型,数据类型包装类也有8个:Byte、Short、Integer、Long、Float、Double、Character、Boolean。例如, int i = Integer.parseInt(123); int j = new Integer
9、().intValue(123);,Java2程序设计实用教程叶核亚,例4.10 获得运行时信息,Java2程序设计实用教程叶核亚,2.实用包,日期类,Data、Calendar、GregorianCalendar 多种集合接口:Collection(无序集合)、Set(不重复集合)、List(有序不重复集合) Enumeration(枚举),以及表示数据结构的多个类:LinkedList(链表)、Vector(向量)、Stack(栈)、Hashtable(散列表)、TreeSet(树)。,Java2程序设计实用教程叶核亚,日期类,Data类有二种构造方法:Date()和Date(long d
10、ate)。Date()获得系统当前日期和时间值,包括、年、月、日、时、分、秒、毫秒。Date(long date)以date创建日期对象,date表示从GMT(格林威治)时间1970-1-1 00:00:00开始至某时刻的毫秒数。 Calendar类支持将Date对象转换成一序列单个的日期整型数据集,例如YEAR、MONTH、DATE、DAY_OF_WEEK等常量。Calendar类没有构造方法,使用getInstance()方法创建一个对象后,可以使用get()方法和常量获得日期和时间的一部分。如: Calendar now = Calendar.getInstance(); int yea
11、r =now.get(Calendar.YEAR); Calendar类派生出的GregorianCalendar类实现标准的Gregorian日历。,Java2程序设计实用教程叶核亚,3. 文本包,文本包java.text中的Format、DateFormat、SimpleDateFormat等类提供各种文本或日期格式。,Java2程序设计实用教程叶核亚,4.3.2 引用Java定义的包,导入包 import 包名1.包名2.包名1.类名*; import java.applet.Applet;/导入java.applet包中的Applet类 import java.awt.*;/导入jav
12、a.awt包中的所有类 java.lang包是系统自动隐含地导入的,无需导入。 Java包的路径,在Windows系统中设置环境变量classspath的语句为: set classpath = .;d: jdk1.3.0_02lib,Java2程序设计实用教程叶核亚,例4.11 获得系统当前日期和时间,并按指定格式输出。,Java2程序设计实用教程叶核亚,4.3.3 自定义包,包的定义格式 package包名 设置包的路径,创建一个与包同名的文件夹d:myjavaMypackage,添加环境变量classpath的路径为: set classpath = .;d: jdk1.3.0_02lib; d:myjava 之后其他类用 import Mypackage.*;,Java2程序设计实用教程叶核亚,多个类属于同一个包 创建包等级 package 包名1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年丽江市古城区幼儿园招聘教师考试真题
- 杭州市余杭区卫生健康系统事业单位招聘考试真题2025
- 海口市龙华区新坡镇政府专职消防站新营房建设项目水土保持方案报告表
- 水利工程水量调度制度
- 教师教书育人问题清单及整改措施
- 交通运输安全知识竞赛题库(附答案)
- 机关单位反恐防暴应急处置预案
- 20250509地下室顶板支模体系专项施工方案(专家论证)投标文件(技术方案)
- 建筑工程项目经理全过程管理KPI考核表
- 采购员供应商交货准时率绩效考核表
- 2025年留疆战士考试题库及答案
- 药物研发偏差管理制度
- 气候投融资模式及工作机制创新案例集 Ⅰ
- 幼儿园卫生保健会议记录20篇
- DB31∕T 1019-2016 儿童验光配镜技术服务规范
- 高中一年级英语阅读训练100篇
- 工地试验室建设专项方案
- DL∕T 5344-2018 电力光纤通信工程验收规范
- T-CCIIA 0004-2024 精细化工产品分类
- SL+303-2017水利水电工程施工组织设计规范
- 2023中国抗血栓药物相关出血诊疗规范专家共识(附图)
评论
0/150
提交评论