- 1、本文档共137页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 类和对象基础
4.7.1 包的管理 2. 如何创建包 创建包通常有两种方法。 (1)使用带–d选项的编译命令 如对于上述源文件可使用下列方法编译: D:\studyjavac –d D:\study Circle.java 这里,-d后面指定的路径为包的上一级目录。这样编译器自动在D:\study目录创建一个com\demo子目录,然后将编译后的Circle.class类文件放到该目录中。 4.7.1 包的管理 (2)由IDE创建包 许多IDE工具(如Eclipse或NetBeans等)创建带包的类时自动创建包的路径,并将编译后的类放入包中。 将类放入包中后,其他类要使用这些类就可以通过import语句导入。但是,在字符界面下要使编译器找到该类,还需要设置CLASSPATH环境变量。假设原来的CLASSPATH设置为: CLASSPATH =.;C:\jdk1.7.0\lib; 修改后的设置应为: CLASSPATH=.; C:\jdk1.7.0\lib;D:\study 4.7.1 包的管理 3. 类的完全限定名 如果一个类属于某个包,我们可以用类的完全限定名(fully qualified name)来表示它。例如,若Circle类属于com.demo包,则该类的完全限定名为com.demo.Circle。 4.7.2 类的导入 为了使用某个包中的类或接口,需要将它们导入到源程序中。 在Java语言中可以使用两种导入: 使用import语句导入指定包中的类或接口。 使用import static导入类或接口中的静态成员 4.7.2 类的导入 1. import语句 import语句的一般格式为: import package1[.package2[.package3[…]]].ClassName|*; 选项ClassName指定导入的类名,选用“*”号,表示导入包中所有类。如果一个源程序中要使用某个包中的多个类,用第二种方式比较方便,否则要写多个import语句。导入某个包中所有类并不是将所有的类都加到源文件中,而是使用到哪个类才导入哪个类。 也可以不用import语句而在使用某个类时指明该类所属的包。如 java.util.Scanner sc = new java.util.Scanner(System.in); 4.7.2 类的导入 另外,需要注意的是如果用“*”号这种方式导入的类有同名的类,在使用时应指明类的全名。请看下面代码。 程序4.16 PackageDemo.java import java.util.*; import java.sql.*; public class PackageDemo{ public static void main(String[] args){ Date d = new Date(); System.out.println(d = +d); } } 4.7.2 类的导入 该程序在编译时会产生错误。因为在java.util包和java.sql包中都有Date类,编译器不知道创建哪个类的对象,这时需要实用类的完全限定名。如果要创建java.util包中的Date类对象,创建对象的语句应该改为: java.util.Date d = new java.util.Date(); 4.7.2 类的导入 2. import static语句 Java 5版中,允许使用import static 语句导入类中的常量和静态方法,然后再使用这些类中的常量或方法就不用加类名前缀了。 例如,要使用Math类的random()等方法,就可以先使用下列静态导入语句: import static java.lang.Math.* ; 然后在程序中就可以直接使用random()了,请看下面程序。 4.7.2 类的导入 程序4.17 StaticTest.java import static java.lang.Math.*; import static java.lang.System.*; public class StaticTest{ public static void main(String[] args){ double d = random(); // 不需要加类名前缀 double pi = PI; out.println(d = +d); // out是System类的一个静态成员 out.println(pi = +pi); } } 4.7.3 Java编译单元 一个源程序通常称为一个编译单元(compile unit)。 每个编译单元可以包含一个package语句
文档评论(0)