- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java面向对象程序设计第04、05章_面向对象程序设计研讨
* 接口和抽象类的区别 接口可以多重继承,抽象类不可以 抽象类内部可以有实现的方法,接口则没有实现的方法 接口与实现它的类不构成类的继承体系,即接口不是类体系的一部分。因此,不相关的类也可以实现相同的接口。而抽象类是属于一个类的继承体系,并且一般位于类体系的顶层。 接口的优势:通过实现多个接口实现多重继承,能够抽象出不相关类之间的相似性。 创建类体系的基类时,若不定义任何变量并无需给出任何方法的完整定义,则定义为接口;必须使用方法定义或变量时,考虑用抽象类。 练习 下列关于接口和抽象类的说法不正确的是?( ) A) 接口也有构造方法 B) 实现接口时,需对接口中的所有方法都要实现 C) 抽象类也有构造方法 D) 抽象类可以派生出子类 练习 以下是接口I的定义: interface I { void setValue(int val); int getValue(); } 以下哪段代码能通过编译? A、 class A extends I{ int value; void setValue(int val){value=val;} int getValue(){return value;} } B、 class B implements I{ int value; void setValue(int val){value=val;} } C、interface C extends I{ void increment( ); } D、 interface D implements I{ void increment(); } 3.9 包 包(package)是类的逻辑组织形式。 Java提供的用于程序开发的类就放在各种包中。也可以自己创建包。 一般在创建项目时为了便于管理,源文件和字节码文件是分开保存在不同的目录中的。 项目的文件夹为myproject; 源文件保存在myproject下的src文件夹中; 字节码文件保存在myproject下的classes文件夹中 Java的类和包 java常用的包有: java.lang 语言包,唯一一个不要把它明确引入程序的包 java.util 实用包 java.awt 抽象窗口工具包 java.text 文本包 java.io 输入输出流的文件包 java.applet Applet应用程序 java.net 网络功能 包与文件夹 在实际项目开发中,一般每个类都应该定义在某个包中。这样一方面易于管理,另一方面可以有效地防止命名冲突。包的名称一般按公司的域名反向书写。如:com.misxp 如果一个类是这样定义的: package com.misxp; public class PackageExercise … 那么这个类所在的文件PackageExercise.java应该保存在myproject/src/com/misxp下 包与文件夹 它的编译好的字节码文件应该保存在myproject/classes/com/misxp下。 如何做到以上要求,简单的办法是: 进入命令行状态 让src成为当前文件夹 执行命令javac –d ../classes com/misxp/*.java 引用Java定义的包 导入包 如果要使用Java类中的包,要在源程序中用import语句导入。 import 包名1[.包名2[.包名3……]].类名|*; 如果有多个包或类,用“.”分割,“*”表示包中所有的类。 如: import java.applet.Applet;//导入Java.applet包中的Applet类 import java.awt.* //导入Java.awt包中所有的类 Java包的路径 用环境变量classpath设置对Java包的搜索路径。切换到DOS方式,用下面命令: set classpath =.; d:\jdk1.6\lib 自定义包 如果在程序中没有声明包,类就放在默认的包中,这个包是没有名字的。默认包适用于小的程序,如果程序比较大,就需要创建自己的包。 声明包的格式 package 包名; 声明一个包的语句要写在源程序文件的第一行。 存放位置 在运行目录下创建一个和包同名的文件夹(字母大小写也一样),将编译产生的.class文件放到此文件夹中。 引用包中的类 如果引用其它包中的类,可用import语句 包路径的
文档评论(0)