一個關於package和import的問題。希望得到解釋


在c05 目錄(假定在自己的CLASSPATH 里)創建下述文件: 
 
//: PackagedClass.java 
package c05; 
class PackagedClass { 
  public PackagedClass() { 
    System.out.println( 
      "Creating a packaged class"); 
  } 
} // 
 
然后在c05 之外的另一個目錄里創建下述文件: 
 
//: Foreign.java 
package c05.foreign; 
import c05.*; 
public class Foreign { 
   public static void main (String[] args) { 
      PackagedClass pc = new PackagedClass(); 
   } 

解釋編譯器為什么會產生一個錯誤。將Foreign(外部)類作為c05 包的一部分改變了什么東西嗎? 
誰能解釋一下,這個錯誤是為什么呢。

7 个解决方案

#1


package c05.foreign;
確定了一個包  : c05.foreing
這個包(c05.foreing)在包c05中
把A包外面聲明一個A包的子包肯定出錯
否則API結構也可以混亂不堪了

#2


引用 1 樓 xiaos_hui 的回復:
package c05.foreign;
確定了一個包  : c05.foreing
這個包(c05.foreing)在包c05中
把A包外面聲明一個A包的子包肯定出錯
否則API結構也可以混亂不堪了

這在說的什么東東,怎么看不明白


我這里哪有編譯錯誤,運行都沒有問題

#3


我只能說樓主太賤!

#4


我只能說樓主太賤!

#5


引用 2 樓 trocp 的回復:
引用 1 樓 xiaos_hui 的回復:

package c05.foreign;
確定了一個包  : c05.foreing
這個包(c05.foreing)在包c05中
把A包外面聲明一個A包的子包肯定出錯
否則API結構也可以混亂不堪了

這在說的什么東東,怎么看不明白


我這里哪有編譯錯誤,運行都沒有問題


+1

我這里運行也沒問題~~

你的最后一個括號是中文的,應該是英文的!
public class Foreign { 
  public static void main (String[] args) { 
  PackagedClass pc = new PackagedClass(); 
  } 
}// 修改一下這個括號

#6


所以說啊。。。細心檢查一下。。。不要隨便懷疑java本身。。。

#7


我知道運行這個程序沒有問題,這個題目是think in java 4th ed  里面的,作者說這個會出現錯誤,問為什么,但是他並沒有給出答案,我想不出來為什么會出錯誤。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com