Re: [問題] access modifier的問題
> ==> id9455.bbs@ptt.cc (Pony) 的文章中提到:
> 最近在測試 Java 的 Access Modifier
> (public, protected, private, none)
> 在編譯的時候發生了一件詭異的事情
> 先附上程式碼:
> ==Array.java==
> package simple;
> class Array {
> public Array() {
> System.out.println( "simple.Array");
> }
> }
> ==List.java==
> package simple;
> public class List {
> Array a = new Array();
> public Array b = new Array();
> public List(){
> System.out.println( "com.bruceeckel.util.List");
> }
> }
> ==TestLib.java==
> import simple.*;
> public class TestLib {
> public static void main(String[] args) {
> // Array is not public accessible.
> // Array a = new Array();
> List l = new List();
> // cannot access a since it’s in package scope
> // System.out.println(l.a);
> System.out.println(l.b);
> }
> }
> 假設目前的路徑是 d:\java\id9455\simple
> Array.java 和 List.java 放在 d:\java\id9455\simple
> TestLib.java 放在 d:\java\id9455
> 問題來了
> 在編譯的時候
> 如果在 d:\java\id9455\simple 下 javac *.java
> 可以正常編譯
> 但如果是:先編譯 Array.java,再編譯 List.java
> 卻會發生找不到 Array 這個 Class 的問題
> 根據我對 none 這個 access modifier 的認識
> 他應該要能夠讓在同一個 Package 裡其他的Class 存取
> 但錯誤訊息卻找不到這個Class
> 請問一下這是為什麼呢 謝謝
我在測試上是沒有任何問題產生的
應該是你的設定上有問題吧
WORK_HOME設定正確了嗎?
CLASSPATH有把WORK_HOME, .這兩個加進去嗎?
--
* Origin: 中山大學-美麗之島BBS * From: 202.173.49.133
討論串 (同標題文章)
完整討論串 (本文為第 5 之 5 篇):