作者s66449 (閒泡菜)
看板java
標題Re: [J2SE] 想問一下有關System.out.println()的問題
時間Fri Mar 12 23:09:48 2010
<恕刪>
: 因為 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