看板java
标 题Re: [问题] access modifier的问题
发信站中山计中美丽之岛 (Thu May 3 14:21:55 2007)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.nsysu!Formosa
> ==> [email protected] (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