技术中心

这里象征着我们的态度和能力

>Java中import使用
发布者:中国IT实验室    信息来源:中国IT实验室    发布时间:2012-01-09      浏览次数:4484
分享到:

新浪微博

腾讯微博

QQ空间

豆瓣网

QQ好友

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入
    有些人写了一阵子 Java,可是对于 Java 的 package 跟 import 还是不太了解。很多人以为原始码 .java 文件中的 import 会让编译器把所 import 的程序通通写到编译好的 .class 档案中,或是认为 import 跟 C/C++ 的 #include 相似,实际上,这是错误的观念。
   
    让我们先了解一下,Java 的 package 到底有何用处。
   
    其实,package 名称就像是我们的姓,而 class 名称就像是我们的名字。package 名称有很多 . 的,就好像是复姓。比如说 java.lang.String,就是复姓 java.lang,名字为 String 的类别;java.io.InputStream 则是复姓
   
    java.io,名字为 InputStream 的类别。
   
    Java 会使用 package 这种机制的原因也非常明显,就像我们取姓名一样,光是一间学校的同一届同学中,就有可能会出现不少同名的同学,如果不取姓的话,那学校在处理学生数据,或是同学彼此之间的称呼,就会发生很大的困扰。相同的,全世界的 Java 类别数量,恐怕比台湾人口还多,而且还不断的在成长当中,如果类别不使用套件名称,那在用到相同名称的不同类别时,就会产生极大的困扰。幸运的是,Java 的套件名称我们可以自己取,不像人的姓没有太大的选择 ( 所以有很多同名同姓的 ),如果依照 Sun 的规范来取套件名称,那理论上不同人所取的套件名称不会相同 ( 请参阅 "命名惯例"的相关文章 ),也就不会发生名称冲突的情况。
   
    可是问题来了,因为很多套件的名称非常的长,在写程序时,会多打好多字,花费不少时间,比如说:
   
    java.io.InputStream is = java.lang.System.in;
   
    java.io.InputStreamReader isr= new java.io.InputStreamReader(is);
   
    java.io.BufferedReader br = new java.io.BufferedReader(isr);
   
    实在是不美观又麻烦。于是,Sun 想了一个办法,就是 import.
   
    这个 import 就是在程序一开头的时候,先说明程序中会用到那些类别的
   
    简称,也就是只称呼名字,不称呼他的姓。首先,在档案开头写:
   
    import java.lang.System;
   
    import java.io.InputStream;
   
    import java.io.InputStreamReader;
   
    import java.io.BufferedReader;
   
    这几行说明了这四个姓名的类别,在程序中只用他的名字来称呼,所以当程序中提到 System 就是指 java.lang.System,而 InputStream 就是指 java.io.InputStream,依此类推。于是原来的程序就变成:
   
    InputStream = System.in;
   
    InputStreamReader isr = new InputStreamReader(is);
   
    BufferedReader br = new BufferedReader(isr);

[1] [2] 下一页

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730
Baidu
map