最难还是包,包和路径之间的关系,高手阐述一下,最好举个例子,捆饶我一个月了5555 如果不写package那就不会打包啦,没有什么默认包java.awt.Graphics就是路径的意思是说在文件夹java\awt下有Graphics,它打包成java.awt; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 包的作用根文件夹差不多,把不同的java文件放在不同的地方。容易管理。 你可以把包看成文件夹这样就很好理解了比如说有两个包a 和b在a中有个类文件Aclass.java在b中有个类文件Bclass.java如果在Aclass中引用Bclass的话那么在Aclass.java的文件头就要这样引用一下:import b.Bclass; package一般有两个意思:1:你要创建一个包;2:(package ***)表明编译单元内的public类名位于***这个名字下面java.awt.Graphics指你的程序里要用到Graphics这个类 呵呵﹐高手哪里有時間泡妞呵我不是高手﹐但是這個問題也曾困我好久我簡單說一下﹐希望能講得清楚點。1. 為什么使用包管理﹖這是因為類太多了﹐如果不使用包管理的話﹐用起來你都不知道怎么區爭﹐這個就像你要把硬盤分區﹐然后還要分類建目錄﹐這個目錄下是這個﹐那個是那個﹐然后吶﹐找的時候一目了然之所以要使用包管理。2. 包是怎么樣進行管理的吶﹖JAVA的包管理是一種樹形模式﹐以SUN開發的JDK類庫為主干﹐然后分若干小枝﹐每個小枝上面都有許多類在﹐這樣子就可以形成一種層次比較明顯的樹形結構﹐你寫的類最終都可以納入這個體系﹐好了﹐包就是這樣子管理的3. 包與目錄﹐哦也就是路徑的關系是什么吶﹖包的寫法是﹕a.b.c.d.*或a.b.c.d.e對應的目錄是﹕/a/b/c/d/*.*或/a/b/c/d/e因為沒有更好更容易的方法了的方法﹐所以包的實際存放形式就是用目錄來區分各個小枝﹐你打開一個JAR﹐就可以知道這種結構了﹐OK4. JDK怎么樣用包的吶SUN在寫JDK的時候里面有寫基本類庫的路徑在里面﹐所以吶﹐基本類庫的東東只要你不改它們的位置﹐你JDK的東東就可以找得到。現在說你自己寫的﹐比如你在C:\aa\bb\cc下面寫了一個類﹐這個類的頭吶是﹕package bb.cc;哦﹐它的名字是dd.class實際路徑是﹕C:\aa\bb\cc\dd.class你知道CLASSPATH罷﹐就是用這個來告訴JDK的東東﹐你到哪里去找類﹐就像你用PATH來告訴OS到哪里找文件一樣﹐OK﹐這個應該怎么設吶﹐因為﹐哦﹐就用JAVAC好了﹐JAVAC不知道你寫的這個類的位置呀﹐你得告訴它一聲好﹐那就在CLASSPATH里面這樣設定﹕classpath=c:\aa把這個設定和你寫的類的包比較一下就可以知道是怎么回事兒啦JAVAC會到c:\aa下面去找這樣一個類﹐就是在/bb/cc下面的dd.class﹐這就與dd的包一致了5. 那么JAR是什么吶﹖JAR是標准的ZIP格式壓縮文件﹐為什么吶﹐你想呵﹐如果把那么多類放在某個目錄下﹐多亂呀﹐所以就把各人用的和寫的類各自己打成一個包﹐就是JAR﹐就說4的例子好啦﹕這個JAR將會打成這樣子起個名字叫pack.jar你用WINRAR或者別的工具打開pack.jar就會看到里面的結構和c:\aa下面的一個樣子在CLASSPATH里面怎么聲明吶﹖classpath=pack.jar的路徑\pack.jar這樣子JAVAC就會到pack.jar里面去找這個東西﹐bb.cc.dd﹐也就是/bb/cc/dd.class................................................好了﹐大約也就這個樣子啦一起學習﹐呵呵﹐﹕-)[email protected] 建一个工程,把源代码放置的路径Y_PROJECT\src下新建几个文件夹,比如pk1下有类class1和文件夹pk2;pk2文件夹下有类class2和文件夹pk3;pk3文件夹下有类class3,那么class1类的开头是 package pk1class2类的开头是 package pk1.pk2class2类的开头是 package pk1.pk2.pk3 那么请问楼上的楼上,Aclass.java要 引用到Bclass.java,那么仅仅根据import b,Bclass;编译器如何找到Bclass.java?Bclass.java到底放在哪个目录下呢?也许有人回说不就是b\Bclass.java吗?那么b\又是放在那里呢???? jxl如何向一个已存在的excel中添加数据 java UI窗口间调用 数据库表项的显示问题 内隐类实现接口并有带参数构造器的问题 JMF的帮助文档在哪找呀! 求助*我的java程序编译不过去,又看不出什么问题,请帮忙~ netBeans怎样设置classpath Exception in thread "main" java.long.NoClassDefFoundError:HelloWorld 我一java执行就这样怎么回事程序绝对正确。高手指点 一个用JBuilder生成jar的问题? 一个Socket 问题 新手问一个简单的编译问题 一位菜尿初次写的Java程序,欢迎大家批评指正!
这样就很好理解了
比如说有两个包a 和b
在a中有个类文件Aclass.java
在b中有个类文件Bclass.java
如果在Aclass中引用Bclass的话
那么在Aclass.java的文件头就要这样引用一下:import b.Bclass;
java.awt.Graphics指你的程序里要用到Graphics这个类
對應的目錄是﹕/a/b/c/d/*.*或/a/b/c/d/e因為沒有更好更容易的方法了的方法﹐所以包的實際存放形式就是用目錄來區分各個小枝﹐你打開一個JAR﹐就可以知道這種結構了﹐OK4. JDK怎么樣用包的吶SUN在寫JDK的時候里面有寫基本類庫的路徑在里面﹐所以吶﹐基本類庫的東東只要你不改它們的位置﹐你JDK的東東就可以找得到。現在說你自己寫的﹐比如你在C:\aa\bb\cc下面寫了一個類﹐這個類的頭吶是﹕
package bb.cc;哦﹐它的名字是dd.class
實際路徑是﹕C:\aa\bb\cc\dd.class你知道CLASSPATH罷﹐就是用這個來告訴JDK的東東﹐你到哪里去找類﹐就像你用PATH來告訴OS到哪里找文件一樣﹐OK﹐這個應該怎么設吶﹐因為﹐哦﹐就用JAVAC好了﹐JAVAC不知道你寫的這個類的位置呀﹐你得告訴它一聲好﹐那就在CLASSPATH里面這樣設定﹕
classpath=c:\aa把這個設定和你寫的類的包比較一下就可以知道是怎么回事兒啦
JAVAC會到c:\aa下面去找這樣一個類﹐就是在/bb/cc下面的dd.class﹐這就與dd的包一致了5. 那么JAR是什么吶﹖JAR是標准的ZIP格式壓縮文件﹐為什么吶﹐你想呵﹐如果把那么多類放在某個目錄下﹐多亂呀﹐所以就把各人用的和寫的類各自己打成一個包﹐就是JAR﹐就說4的例子好啦﹕
這個JAR將會打成這樣子起個名字叫pack.jar
你用WINRAR或者別的工具打開pack.jar就會看到里面的結構和c:\aa下面的一個樣子在CLASSPATH里面怎么聲明吶﹖
classpath=pack.jar的路徑\pack.jar這樣子JAVAC就會到pack.jar里面去找這個東西﹐bb.cc.dd﹐也就是/bb/cc/dd.class................................................
好了﹐大約也就這個樣子啦一起學習﹐呵呵﹐﹕-)
[email protected]
class1类的开头是 package pk1
class2类的开头是 package pk1.pk2
class2类的开头是 package pk1.pk2.pk3
编译器如何找到Bclass.java?Bclass.java到底放在哪个目录下呢?
也许有人回说不就是b\Bclass.java吗?那么b\又是放在那里呢????