Java包呼叫問題

張國平發表於2010-01-17

 

書來回翻了幾遍沒有提這一塊,暈~
請教一下,如果在包2中的原始檔匯入包1的公有類,而包1引用了自己包內的非公有類,那麼對該原始檔那些無法匯入的非公有類還能找到麼??

回答:

public 是共有類
沒有字首,是包內共有。。
package cn.xjtu.pack1
public class A {
  public void getA(){
   B b=new B();
   }

}
class B{
  public void getB(){
   System.out.println("this is B");
}

}

package cn.xjtu.pack2
import cn.xjtu.pack1;

public class pack2A {
public static void main(String args[]){
A a=new A();
a.getA();  //正常輸出"this is B"
//B a=new B() 呼叫不成功。。。
}

這樣看,呼叫引用的時候,只要被呼叫的公用類就可以了。至於共用類內部呼叫啥機制就不用管。。
其實,你不用考慮太多,只管對你公開的類和方法。這樣就是OO封閉最大好處

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22259926/viewspace-625292/,如需轉載,請註明出處,否則將追究法律責任。

相關文章