Re: [J2SE] 想問一下有關System.out.println()的問題

看板java作者 (閒泡菜)時間15年前 (2010/03/12 23:09), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串3/5 (看更多)
<恕刪> : 因為 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

03/12 23:31, , 1F
這篇文章有點年紀了吧 Orz
03/12 23:31, 1F

03/13 00:16, , 2F
因為 System.out 是 PrintStream println 是方法....
03/13 00:16, 2F

03/13 00:57, , 3F
應該說,因為沒有用到 PrintStream 這個「class」
03/13 00:57, 3F

03/13 04:57, , 4F
我的意思是我沒匯入PrintStream然後println也不是static
03/13 04:57, 4F

03/13 04:58, , 5F
為什麼可以直接加上.println()來呼叫這個方法??
03/13 04:58, 5F
文章代碼(AID): #1Bcba-0_ (java)
討論串 (同標題文章)
文章代碼(AID): #1Bcba-0_ (java)