看板 java 關於我們 聯絡資訊
<恕刪> : 因為 System類別 有個static 變數 PrintStream out //類別名稱 變數名稱 : public class Syatem{ : static PrintStream out; : } : 然後你在你的class 因為有import java.lang.* : // import java.lang.* 是compiler會幫你自動加上去的 : 所以你可以使用 System 這個類別 : 又因為 System類別 有個static變數 out, : 所以你可以用 className. 直接呼叫他, : import java.lang.* : import java.io.PrintStream; : public class test{ : public static void main(String[] args){ : PrintStream out = System.out; : out.print("輸出字串"); : //以上兩行 等同於 System.out.print("輸出字串"); : } : } : 這樣寫應該沒錯吧...有錯請指正 請問一下,因為打的範例是有import java.io.PrintStream 那如果不import java.io.PrintStream的話 public class test { public static void main(String args[]) { System.out.println("123"); } } out是static 所以可以直接用類別名稱去呼叫 變成System.out 那因為後面的println並不是static 為什麼可以直接加.println()呢?? 跟out傳回值是PrintStream類別有關嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.182.24
tkcn:這篇文章有點年紀了吧 Orz 03/12 23:31
darkk6:因為 System.out 是 PrintStream println 是方法.... 03/13 00:16
PsMonkey:應該說,因為沒有用到 PrintStream 這個「class」 03/13 00:57
s66449:我的意思是我沒匯入PrintStream然後println也不是static 03/13 04:57
s66449:為什麼可以直接加上.println()來呼叫這個方法?? 03/13 04:58