




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第四章JAVA类和对象的高级特征 主讲 张思民仰恩大学计算机与信息学院Java课程组 2 本章内容 4 1抽象类4 2接口4 3包4 4JAVA的API 3 4 1抽象类 抽象类java语言中 用abstract关键字来修饰一个类时 这个类叫做抽象类 用abstract关键字来修饰一个方法时 这个方法叫做抽象方法 格式如下 abstractclassabstractClass 抽象类abstractreturnTypeabstractMethod paramlist 抽象方法抽象类必须被继承 抽象方法必须被重写 抽象方法只需声明 无需实现 抽象类不能被实例化 抽象类不一定要包含抽象方法 若类中包含了抽象方法 则该类必须被定义为抽象类 若一个类继承了一个抽象类 则抽象类的抽象方法必须被实现 否则子类必须声明为abstract 4 4 2接口 接口接口是抽象类的一种 只包含常量和方法的定义 而没有变量和方法的实现 且其方法都是抽象方法 它的用处体现在下面几个方面 通过接口实现不相关类的相同行为 而无需考虑这些类之间的关系 通过接口指明多个类需要实现的方法 通过接口了解对象的交互界面 而无需了解对象所对应的类 5 4 2接口 1 接口的定义接口的定义包括接口声明和接口体 接口声明的格式如下 public interfaceinterfaceName extendslistOfSuperInterface extends子句与类声明的extends子句基本相同 不同的是一个接口可有多个父接口 用逗号隔开 而一个类只能有一个父类 接口体包括常量定义和方法定义常量定义格式为 typeNAME value 该常量被实现该接口的多个类共享 具有public final static的属性 在接口中只能声明常量 不可以声明变量 方法体定义格式为 具有public和abstract属性 不能声明为protected returnTypemethodName paramlist 注意 在接口的实现类中 实现的接口方法必须声明为public 因为接口中定义的方法为public 默认 所以其实现必须声明为public 否则编译不会通过 6 4 2接口 2 接口的实现在类的声明中用implements子句来表示一个类使用某个接口 在类体中可以使用接口中定义的常量 而且必须实现接口中定义的所有方法 一个类可以实现多个接口 在implements子句中用逗号分开 3 接口类型的使用接口作为一种引用类型来使用 任何实现该接口的类的实例都可以存储在该接口类型的变量中 通过这些变量可以访问类所实现的接口中的方法 7 4 3包 1 包在JAVA中的作用 文件夹将文件和应用程序组织为组 包将类组织为组包减少了命名冲突带来的问题 如果所有类放在同一个包中就容易产生命名冲突引入包以后 声明类前必须声明类所在的包 格式 package包1名 包2名 包n名 例如 packagejava awt 或 packagejavax swing event 如果一个类访问另一个包中的类 必须通过包来引用 有两种引用方法1 声明该类前 使用import语句例如 importjava awt Button Button为被访问的类 位于包java awt中importjava awt 引入包java awt中的全部类2 访问另一个包中的类时 使用包名例如 java awt Buttonb newjava awt Button 8 4 3包 2 exampleone 类在同一个包中publicclassDate2 intyear month day voidsetDate inty intm intd year y month m day d voidprint System out println year month day classUseDate2 publicstaticvoidmain Stringargs Date2b newDate2 b setDate 2004 9 1 b print 类在不同包中 Date2 javapackagep1 p2 publicclassDate2 intyear month day publicvoidsetDate inty intm intd year y month m day d publicvoidprint System out println year month day UseDate2 javaimportp1 p2 Date2 classUseDate2 publicstaticvoidmain Stringargs Date2b newDate2 b setDate 2004 9 1 b print 9 Exampleone在DOS窗口下的运行 1 DOS窗口下必须手动建立包一编译Date2 java1 建立保存p1 p2 Date2的文件夹 例如E db0312 设置环境变量 右击我的电脑选属性 高级 环境变量 双击系统变量中的CLASSPATH 在变量值中加入保存p1 p2 Date2的文件夹 例如 E db031 不要忘了环境变量以 隔开 3 E db031下建立p1和p2文件夹 将Date2 java保存E db031 p1 p2下4 打开DOS窗口 进入Date2所在目录 即E db031 p1 p2 打开DOS窗口的方法 显示器左下角 点击开始 程序 附件 命令提示符 进入E db031 p1 p2的方法 切换C E 即输入E 然后回车 如文件保存在C盘 不须切换 进入E cd db031 p1 p25 编译 E db031 p1 p2 javacDate2 java并回车 10 Exampleone在DOS窗口下的运行 2 二编译并运行UseDate2 java1 建立保存UseDate2的文件夹 例如 C db0322 保存UseDate2 java 编译javacUseDate2 java3 3 运行C db032下javaq UseDate2 java 11 example 1 在Jcreator下的运行 Jcreator下 系统按源文件中的package语句自动建立包1 建立保存p1 p2 Date2的空project 例如E db031 保存Date2 java并编译 可看到p1和p2已经自动生成2 编译UseDate2 java3 建立保存UseDate2 java的空project 保存UseDate2 java 此时编译会报错4 设置环境变量在Jcreator主菜单的project下选择projectsettings 选择requiredlibraries后按new 选择classes后按add选addpath 找到p1 p2 Date2所在文件夹 E db031 在Name中给该路径命名 按OK此时可看到该路径名出现在文本框中 选中该路径名 可看到该路径已加入到ClassPath中5 编译UseDate2 java并运行 12 环境变量classpath的配置 Classpath的作用当一个类访问位于其它包中的其它类时 Classpath帮助该类找到其它类 Classpath的值 Classpath就是包含被访问的类所在的包的文件夹被访问的类所在的包由被访问的类的package语句声明 并且必须建立同名的文件夹这样 被访问的类的路径包括两部分 Classpath的值和包两个必须的Classpath值 实心句号 表示当前文件夹 J2sdk 的安装目录 lib表示JAVA类库所在文件夹 13 J2sdk和Jcreator的安装 J2sdk和JcreatorLE都是自由软件 可免费下载J2sdk的网址 14 J2sdk安装时环境变量的设置 设置path设置classpath 15 4 4JAVA的API 1 JAVA的类库称为应用程序编程接口 API ApplicationProgrammingInterface JAVA类按包来组织 常用包有 使用JAVA类库中的类 必须用 J2sdk安装目录 lib 例如E j2sdk lib来设置环境变量classpath使用JAVA类库中的类必须使用import语句导入该类 格式 import包名1 包名2 或import包名1 包名2 类名 使用java lang中的类不需用import语句导入该类 16 4 4JAVA的API 2 JAVA类库中的常用类java lang Math类该类的变量E和PI以及方法都是static的 可以通过类名直接引用 anexampleclassMathExample publicstaticvoidmain Stringargs doubled1 Math E doubled2 Math PI System out println d1 System out println d2 System out println Math sqrt d1 System out println Math sin d2 2 17 4 4JAVA的API 3 java lang Byte Short Integer Long Float Double Character Boolean类这8个类对应8种基本数据类型 这8个类都有构造方法 可以通过对应的数据类型或字符串作为参数 生成对象这8个类都有实例方法返回对应的数据类型和字符串这8个类都有类方法返回对应的数据类型和字符串 anexampleclassDateWraper1 publicstaticvoidmain Stringargs Byteb newByte byte 10 Byteb newByte 10 调用实例方法bytebb b byteValue Stringss b toString System out println bb ss 调用类方法byteb1 Byte parseByte 123 System out println b1 Strings1 Byte toString byte 111 System out println s1 18 4 4JAVA的API 4 java lang Object Class类java lang Object是所有类的超类 其它类可继承Object类的成员方法classUseObject publicstaticvoidmain Stringargs Booleanb newBoolean true Classc b getClass System out println c getName 19 4 4JAVA的API 5 java lang System类 该类的静态两个成员变量out和in对应标准输出和输入流java util Date Calendar类和java text SimpleDateFormat类importjava util importjava text SimpleDateFormat classUseUtil publicstaticvoidmain Stringargs Dated newDate booleanb d before newDate 2003 12 4 21 33 55 System out println b System out println d getYear System o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年茶艺师(泡茶、品茶、茶艺)等专业知识试题库与答案
- 2024年广告设计师(制作及创意)等技能知识考试题库与答案
- 现代密封技术试题及答案
- 摄影位置基础知识培训课件
- 2025年设立中外合资经营企业合同餐饮类
- 2025国内留学中介服务合同
- 搭一搭二课件
- 公司财务知识培训课件
- 公司财务培训法律知识课件
- 晋中教师招聘面试题目研究:行业动态与趋势分析
- 离心机验证方案
- 智能客服系统操作手册
- 2022年北京市初三一模英语试题汇编:阅读理解CD篇
- 一起由主变后备保护动作引起的故障处理分析
- 感染性腹泻病例演示文档
- 2025年度养老机构营养配餐服务合同协议
- 部编版高考语文古诗文理解性默写(新高考60篇)
- 《葡萄膜病人的护理》课件
- 县病死畜禽无害化处理项目可行性研究报告立项报告
- 中国会展行业市场发展现状及前景趋势与投资分析研究报告(2024-2030版)
- 装修工程质量管理措施
评论
0/150
提交评论