java第一課——helloworld
安裝好JDK(java development Kit)之後,就是嘗試經典的”helloworld”了。
學習資料,書籍《head first – java》,視訊“聖思園”張龍主講的。
主要是由檔名與類名的一致性,引出的java中修飾符的作用域問題。
helloworld.java
public class helloworld{
public static void main(String[] args){
System.out.println("hello happy world !");
}
}
視訊中,講師演示了類名與檔名不一致時,也是可以的,他的程式碼如下:
helloworld.java
class helloworld1{
public static void main(String[] args){
System.out.println("hello happy world !");
}
}
可以看出不同之處在於“public”,我自己試了試,如果還是有“public”的話,編譯時就會報錯,如下
一說,這是修辭符的作用域的問題。
java有4種作用域 public private protected 和不寫。在對這四種作用的範圍解釋之前,我看過有人做這樣比喻,當前類比作自己,所有繼承當前類的類比作子孫,同一個包下的類比作是朋友。其他包的類比成陌生人。
那麼這4種作用域範圍如下:
public 就是公有的,自己,朋友,子孫,陌生人都能直接訪問;
private 就是私有的,除了自己睡都不能直接訪問;
protected 就是受保護的,自己,朋友,子女可訪問,陌生人不能直接訪問;
不寫就是友好型friendly,自己和朋友能訪問,子女和陌生人都不能直接訪問。
1、 一個java原始檔中,如果有public類(包括抽象類,下同)或public介面,那麼就只能有一個public類或一個public介面,不能有多個public的類或介面,當然可以有多個包可見的類或介面,即預設訪問許可權修飾符, 即類名前沒有訪問許可權修飾符。 public類或介面 與 包可見的類或介面在檔案中的順序可以隨意的順序,即public類或介面可以不在第一個的位置。java原始檔名必須與該public類名或public介面名相同。
2、一個java原始檔中,如果既沒有public類,又沒有public介面,那麼java原始檔名沒有限制。只要符合檔名的命名規範就可以,可以不與檔案中任一個類或介面同名。當然也可以與其中之一同名。
3、類和介面的命名不能衝突,即同一個包中的任何一個類名或介面名都是不同的。不同包,可以名字相同,因為通過包可以把它們區分開來。