2011-07-08 51 views
6

我有一個關於類導入的問題,如果你已經導入了類,你似乎可以調用一個縮減行的方法。我不明白這是什麼操作的名稱,怎麼可能......Java導入類系統

例如:

爲什麼這段代碼

public class test 
{ 
     public static void main (String args[]) 
     { 
       System.out.print("Test"); 
     } 
} 

可以通過

import static java.lang.System.out; 

public class test 
{ 
     public static void main (String args[]) 
     { 
       out.print("Test"); 
     } 
} 
被替換

如果還有名爲「out」的對象,會發生什麼情況?

在此先感謝

+3

他們被稱爲靜態導入。(清楚的說明;))太陽一樣。不建議系統使用靜態導入代碼清晰http://download.oracle.com/javase/1.5.0/docs/guide/language/static-import.html – VirtualTroll

+0

謝謝,我應該更加註意:D。是否它也存在於其他語言中嗎? – MisterDoy

+0

是的,還有其他語言有相似的概念 – Kaj

回答

3

什麼情況是,出來自外部的類必須通過完整的名稱來引用:

String out = "Hello World"; 
java.lang.System.out.println(out); 
+4

不,'System.out.println(out);'在這種情況下會做。 – Kaj

5

變量out將陰影的靜態導入,你將不得不使用全名以便使用功能打印。

import static java.lang.System.out; 
public class Tester5 { 
    public static void main (String args[]) { 
    int out=0; 
    out.print("Test"); 
    } 
} 

收益率基本類型int「不能援引打印(字符串)如果out是一個對象顯示同樣的錯誤