中易网

为啥我的Import Package里面什么都没有

答案:1  悬赏:40  
解决时间 2021-01-25 08:35
为啥我的Import Package里面什么都没有
最佳答案
有些人写了一阵子 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 的规范来取 套件名称,那理论上不同人所取的套件名称不会相同 ( 请参阅 "命名惯例"
的相关文章 ),也就不会发生名称?突的情况。可是问题来了,因?楹芏嗵准?拿?品浅5某ぃ?谛闯淌绞保?岫啻蚝枚
字,花费不少时间,比如说:
代码如下复制代码

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);

在zz.java中,因为引入了包a中的所有类,所以使用起来就好像是在同一个包中一样(当然首先要满足访问权限,这里假定可以访问)。
在程序中,可以引入包的所有类或若干类。要引入所有类时,可以使用通配符“*”,如:
代码如下复制代码
import java.lang.*;
实在是不美观又麻烦。於是,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);

这样看起来是不是清爽多了呢?如果这些类别用的次数很多,那就更能体会到
import 的好处了。可是这样还是不够,因?槔潦侨说奶煨裕?故腔嵊腥司醯
打太多 import 了也很浪费时间,於是 Sun 又提供了一个方法:
代码如下复制代码
import java.lang.*;
import java.io.*;

意思就是,等一下程式中提到的没有姓名的类别,不是姓 java.lang,就是姓
java.io,如果这两个?面有同样名字的类别,而不幸的你又只用名字称呼这
个类别,那编译器仍然会跟你抱怨,因?樗?故遣恢?滥闼档恼飧隼啾鹬改且
个姓的类别。那可不可以再懒一点呢,只写:

代码如下复制代码
import java.*;

?v史告诉我们,人可以懒,但不能太懒,这样是不行的。因?槟切├啾鹗切
java.io 而不是姓 java。就像姓『诸葛』的人应该不会喜欢你称他?椤褐睢
先生吧。
?樯觞N我一开始说 import 跟 #include 不同呢?因? import 的功能
到此?橹梗??幌 #include 一样,会将档案内容载入进来。import 只是请
编译器帮你打字,让编译器把没有姓的类别加上姓,并不会把别的档案的程
式码写进来。如果你想练习打字,可以不要使用 import,只要在用到类别的
时候,用它的全部姓名来称呼它就行了(就像例子一开始那样),跟使用
import 完全没有甚?两样。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怡莱酒店(天津塘沽火车站店)(天津塘沽)地址
现在唐氏检查高风险,需要做羊穿吗?
欧洁曼美容美体时尚生活馆地址在哪,我要去那
帮忙取名字,姓柯 ,是个女孩,什么名字好听
十级伤残怎么定两条腿都断了一处还是两处定
梦幻西游60野兽之力鞋子160W亏不亏
众网友跪求支付宝敬业福 敬业福卡集齐技巧
微信公众号能订阅其他公众号吗
邹城的名人都有谁?
工作中的困惑有哪些?
最便宜的国际长途?
看看老外都是怎么玩的,尺寸就是大
阳台内墙面是否属于公共区域
拉拉资源,跪求,谢啦
建卡产检在哪里建比较好
推荐资讯
ajax里面调用一个js方法
东方茗家茶楼地址在哪,我要去那里办事
鞍山割割眼皮的地方在哪里啊,求地址啊 谢谢
LOOK公路车566和765那个好
橱柜门板材料有哪些,什么牌子的好
怎么样实现移动外勤人员管理呢?有哪些技巧?
怎么查看电脑型号
说出一件让你感觉自己突然之间长大的事情。具
广州哪家公司的卫生级蝶阀密封圈好?
婴儿抽风是怎么引起的?
你对现今高房价有什么看法?
《蓝月传奇》封魔塔防副本玩法详解 怎么打
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?