第6讲 java基础第6讲java基础第6讲 java基础第6讲 java基础.ppt

第6讲 java基础第6讲java基础第6讲 java基础第6讲 java基础.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象技术与Java程序 第六讲:Java基础 1.包和接口 1.1 包 为避免名称冲突每个类都必须用唯一的名称。如果没有管理名称空间的办法,你可能觉得不方便,因为每个单独的类都有描述性的名称。你还需要有确保你选用的类名是独特的且不和其他程序员选择的类名相冲突的方法(假想一小组程序员为用“Foobar ”作类名而争斗。或者,设想整个Internet 团体为谁最先为类取名为“Espresso ”而争论)。 Java 提供了把类名空间划分为更多易管理的块的机制。这种机制就是包。包既是命名机制也是可见度控制机制。你可以在包内定义类,而且在包外的代码不能访问该类。这使你的类相互之间有隐私,但不被其他世界所知。 1.包和接口 1.1 包 创建一个包是很简单的:只要包含一个package 命令作为一个Java 源文件的第一句就可以了。下面是package 声明的通用形式: package pkg1; 如:package MyPackage; Java 用文件系统目录来存储包。例如,任何你声明的MyPackage 中的一部分的类的.class 文件被存储在一个MyPackage 目录中。 一个多级包的声明的通用形式如下: package pkg1[.pkg2[.pkg3]]; 1.包和接口 1.2 理解类路径(CLASSPATH) Java 编译器考虑特定位置作为包层次的根,被类路径(CLASSPATH) 控制。 假设你在一个test包中创建了一个名为PackTest 的类。因为你的目录结构必须与包相匹配,你创建一个名为test的目录并把PackTest.java 装入该目录。然后使test 成为当前目录并编译PackTest.java 。这导致PackTest.class 被存放在test目录下。该类现在必须叫做test.PackTest 。如果你的源代码在目录C:\myjava 下,那么设置类路径为: .;C:\myjava;C:\java\classes 1.包和接口 1.3 导入包 类必须包含它们的包名才能完全有效,为每个你想用的包写一个长的逗点分离的包路径名是枯燥的。Java 包含了import 语句来引入特定的类甚至是整个包。一旦被引入,类可以被直呼其名的引用。 下面是import 声明的通用形式: import pkg1[.pkg2].(classname/*); 这里,pkg1 是顶层包名,pkg2 是在外部包中的用逗点(.)隔离的下级包名。 除了指定清楚的类名,还可以指定一个星号(*),表明Java 编译器应该引入整个包: import java.util.Date; import java.io.*; 1.包和接口 1.3 导入包 警告:星号形式可能会增加编译时间——特别是在你引入多个大包时。因为这个原因,明确的命名你想要用到的类而不是引入整个包是一个好的方法。然而,星号形式对运行时间性能和类的大小绝对没有影响。 如果在你用星号形式引用的两个不同包中存在具有相同类名的类,你会得到一个编译时错误并且必须明确的命名指定包中的类,如: import java.util.*; import java.sql.*; class MyDate extends Date {} 所有Java 包含的标准Java 类都存储在名为java 的包中。基本语言功能被存储在java 包中的java.lang 包中。编译器为所有程序隐式引入该包。 1.包和接口 1.4 接口介绍 用关键字interface ,你可以从类的实现中抽象一个类的接口。也就是说,用interface,你可以指定一个类必须做什么,而不是规定它如何去做。 接口在语句构成上与类相似,但是它们缺少实例变量,而且它们定义的方法是不含方法体的。这意味着你可以定义不用假设它们怎样实现的接口。一旦接口被定义,任何类成员可以实现一个接口。而且,一个类可以实现多个接口。 要实现一个接口,接口定义的类必须创建完整的一套方法。然而,每个类都可以自由的决定它们自己实现的细节。通过提供interface 关键字,Java 允许你充分利用多态性的“一个接口,多个方法”。 1.包和接口 1.4 接口介绍 接口是为支持运行时动态方法解决而设计的。通常,为使一个方法可以在类间调用,两个类都必须出现在编译时间里,以便Java 编译器可以检查以确保方法特殊是兼容的。导致了一个静态的不可扩展的类环境。这样导致在类层次上同样功能差异很大。 接口的设计避免了这个问题。它们把方法或方法系列的定义从类层次中分开。因为接口是在和类不同的层次中,与类层次无关的类实现相同的接口是可行的。这是实现接口的真正原因所在。 Java引入接口的概念,可以弥补由于类的单一继承所

您可能关注的文档

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档