4-10 浅谈import与java.lang包

4-10-1 再谈import

在4-9-2节介绍了java.util层级下的Scanner类,同时在该节的程序实例中也说明在使用Scanner类的System.in对象时,需在程序前面引入Scanner类名。

其实严格来说import只是让Java编译程序帮助我们简化程序设计,或是说帮助我们输入命令,也可以不使用import,只要程序设计时用完整名称使用包和类名即可“包名.类名”,通常称之为完整名称。

程序实例ch4_46.java:不使用import,重新设计程序ch4_45.java,这个程序的重点是,程序开始时没有import java.util.Scanner,在程序第4行需用完整名称调用类。

执行结果

与ch4_45.java相同。

另外,读者可能会感到奇怪,先前使用的java.lang层级下的System类(执行输出),在程序设计时却不使用下列方式导入。

import java.lang.System;

import java.lang.*;

原因是java.lang是Java最基础的包,这个包的所有类名在程序编译时会自动依需求引入,所以不需手动引入。当然如果在程序设计时,也可以使用import java.lang.*,程序也可以执行。

程序实例ch4_47.java:增加“import java.lang.*”重新设计ch4_46.java,其实这一行是多余的,只是让读者了解import的真实意义。

执行结果

与ch4_46.java相同。

此外,如果Java编译程序没有帮助我们将Java最基础的java.lang包在编译程序时依需求引入类名,则设计程序时需要完整叙述每个类名。

程序实例ch4_48.java:用完整名称处理System.out.println()方法,重新设计ch4_46.java,读者可参考第6行和第8行。

执行结果

与ch4_46.java相同。

4-10-2 java.lang包

在阅读Java文件时常可看到Java API,API的全称是Application Programming Interface,若是从字义来看可以称之为Java应用程序编程接口。其实所谓的API就是一些已经写好可以直接使用的类库。如果想学好Java,熟悉API是必经之路。下面列出常用的java.lang的类,读者可以不必强记,只要有这些类不用import即可使用的概念即可,本书后面会一一介绍常用的类。

java.lang.Boolean类–可参考10-1节

java.lang.Byte类–可参考18-2节

java.lang.Character类–可参考12-1节

java.lang.Double类–可参考18-2节

java.lang.Error类–可参考20-3-3节

java.lang.Exception类–可参考20-3-3节

java.lang.Float类–可参考18-2节

java.lang.Integer类–可参考18-2节

java.lang.Long类–可参考18-2节

java.lang.Math类–可参考10-1节

java.lang.Number类–可参考18-2节

java.lang.Object类–可参考15章

java.lang.Short类–可参考18-2节

java.lang.String类–可参考12-2和12-3节

java.lang.StringBuffer类–可参考12-4节

java.lang.StringBuilder类–可参考12-5节

java.lang.System类–可参考4-9和4-10节

java.lang.Thread类–可参考21-1节

java.lang.Throwable类–可参考20-3-3节

上述是Java的基础类,Java之所以可以纵横计算机领域二十余年,它的其他类功能更是多且广,后面将一一介绍常用的部分。当然后面也将引导读者学习如何设计包,也许你就是高手未来可以设计包供其他读者使用。