关于Java的import
来源:才华咖 本文已影响7.36K人
来源:才华咖 本文已影响7.36K人
其实,package 名称就像是我们的姓,而 class 名称就像是我们的名字。package 名称有很多 . 的,就好像是复姓。比如说 ng,就是复姓 ,名字为 String 的类别;tStream 则是复姓
,名字为 InputStream 的类别。
Java 会使用 package 这种机制的原因也非常明显,就像我们取姓名一样,光是一间学校的同一届同学中,就有可能会出现不少同名的同学,如果不取姓的话,那学校在处理学生数据,或是同学彼此之间的称呼,就会发生很大的困扰。相同的,全世界的 Java 类别数量,恐怕比台湾人口还多,而且还不断的在成长当中,如果类别不使用套件名称,那在用到相同名称的不同类别时,就会产生极大的困扰。幸运的是,Java 的套件名称我们可以自己取,不像人的姓没有太大的选择 ( 所以有很多同名同姓的 ),如果依照 Sun 的规范来取套件名称,那理论上不同人所取的套件名称不会相同 ( 请参阅 "命名惯例"的相关文章 ),也就不会发生名称冲突的情况。
可是问题来了,因为很多套件的名称非常的长,在写程序时,会多打好多字,花费不少时间,比如说:
tStream is = ;
tStreamReader isr= new tStreamReader(is);
eredReader br = new eredReader(isr);
实在是不美观又麻烦。于是,Sun 想了一个办法,就是 import。
这个 import 就是在程序一开头的时候,先说明程序中会用到那些类别的.
简称,也就是只称呼名字,不称呼他的姓。首先,在档案开头写:
import em;
import tStream;
import tStreamReader;
import eredReader;
这几行说明了这四个姓名的类别,在程序中只用他的名字来称呼,所以当程序中提到 System 就是指 em,而 InputStream 就是指 tStream,依此类推。于是原来的程序就变成:
InputStream = ;
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
这样看起来是不是清爽多了呢?如果这些类别用的次数很多,那就更能体会到import 的好处了。可是这样还是不够,因为懒是人的天性,还是会有人觉得打太多 import 了也很浪费时间,于是 Sun 又提供了一个方法:
import .*;
import .*;
意思就是,等一下程序中提到的没有姓名的类别,不是姓 ,就是姓,如果这两个里面有同样名字的类别,而不幸的你又只用名字称呼这个类别,那编译器仍然会跟你抱怨,因为它还是不知道你说的这个类别指那一
个姓的类别。那可不可以再懒一点呢,只写:
import java.*;
历史告诉我们,人可以懒,但不能太懒,这样是不行的。因为那些类别是姓 而不是姓 java。就像姓『诸葛』的人应该不会喜欢你称他为『诸』先生吧。
为甚么我一开始说 import 跟 #include 不同呢?因为 import 的功能到此为止,它不像 #include 一样,会将档案内容载入进来。import 只是请编译器帮你打字,让编译器把没有姓的类别加上姓,并不会把别的文件的程式码写进来。如果你想练习打字,可以不要使用 import,只要在用到类别的时候,用它的全部姓名来称呼它就行了(就像例子一开始那样),跟使用 import 完全没有甚么两样。
另外,虽然人不可以太懒,但是 Sun 还是帮我们多偷了一点懒。因为 这个套件实在是太常太常太常用到了,几乎没有程序不用它的,所以不管你有没有写 import ;,编译器都会自动帮你补上,也就是说编译器只要看到没有姓的类别,它就会自动去 里面找找看,看这个类别是不是属于这个套件的。所以我们就不用特别去import 了。
Javascript实例教程如何使用HoTMetal
javascript中的DOM方法
JavaScript中的原型链prototype详解
Java中import的使用
Dreamweaver中JavaScript行为操作使用方法
JavaScript在Android的WebView中parseInt函数转换不正确
java的import关键字的使用
java与javascript之间json格式数据互转详解
java的import关键字是什么
Javascript时间格式format函数的两种使用方法
关于JavaScript中isPrototypeOf函数作用和使用实例
Dreamweaver中JavaScript行为操作使用的总结
Dreamweaver中JavaScript行为操作
java script remove Child的使用注意事项
初中英语作文:Jim Lambert’s vacation plans
JavaScript与java语言有何区别
Java与JavaScript的区别
关于JavaScript学习笔记之Cookie对象
Myfavoriteprogram英语作文
关于java的实习报告
Thinkpad笔记本开机显示Tointerrruptnormalstartup解决方法
关于javascript对象之内置和对象Math的使用方法
英语作文:My favourite Giant pandas
分析JavaScript类型系统之Math
JAVA面试中的陷阱
Java Tomcat和激活MyEclips的深入理解
Time To Stop Worrying About Invasive Species美文欣赏
关于Java的import
JavaScript与Java的区别
使用JavaScript实现Java的List功能
Javascript和Java语言间的异同比较
JavaScript与java语言有何不同
java与JavaScript语言有何不同
在Java中执行JavaScript代码
JavaScript与java语言的区别
java求职信
Jolie drops battle over perfume named Shilohy英语作文
My Plan for the Summer Vacation英语作文
关于javascript中cookie对象用法的实例分析
英语阅读:VIT declines to acquire Ang Mo Kio property