java無難事筆記(三)

package mybole;   package語句必須是第一條語句;

package mybole;

class Test

{

         publicstatic void main(String [] args)

         {

                   System.out.println("packagetest");

         }

}

新建一個包,編譯java Test.java生成Test.class

執行java Test,這是錯誤的報錯

因爲Test現在屬於某一個包,應該是java mybole.Test

新建一個名爲mybole的文件夾,把字節碼文件放進文件夾,然後執行java mybole.Test

就成功了!“.”也可以換成”/”,但大部分用”.”;

在編譯的時候加上-d 會遵照源文件中包名生成指定的目錄文件,

比如javac –d . Test.java (.表示在當前目錄生成)

比如 package cn.mybole在編譯的時候如果加上-d就會在指定目錄創建cn文件夾,在cn文件夾下創建mybole文件夾,再在mybole文件夾下生成字節碼文件。

 

類範文修飾符:

Public和Default

同一個包中的類可以相互相互訪問,但是隻能訪問另外一個包的public類,缺省的類是在包外面是無法訪問的。缺省類只能在同一個包中其他類訪問。

Final:

最終類,如果在一個類的前面加上final,那麼這個類不能被繼承public final classname

 

類方法成員訪問修飾符:

同一個類中的各種成員可一相互訪問

兩個類如果處於同一個包中,則可以相互訪問public,protected,default這三種修飾的成員函數,但是private不能夠。

如果兩個類屬於不同包中不同類,則子類可以訪問父類的public和protected類。

如果兩個類屬於不通報中不同類,且不是子類與父類的關係,那麼就只能相互訪問public成員;

 

 

Abstract:

抽象方法,表明此方法不能再子類中被覆蓋,抽想法方法所在的類必須是抽象類,抽象類不能被實例化。

 

如果一個類繼承了一個抽象類,那麼必須要實現抽象函數,否則必須聲明爲抽象類。

我們可以將一個沒有任何抽象方法的類聲明爲abstract,避免由這個類產生任何的對象。

抽象方法就是沒有左右大括號,實現就是有左右大括號了,括號裏面可以爲空。

 

垃圾回收機制是一個優先級較低的一個線程,System.gc是調用垃圾收集器;

垃圾收集之前會調用Object類的方法finalize,此方法可以被重載,是一個靜態的成員函數

 

 

接口

接口中所有方法都是抽象的方法public abstract。不用顯示聲明就是。

派生類要覆蓋子類的方法時候要有更高的權限,至少要等同,而不能去較低

接口和接口實現類就是這麼一種關係。

如果實現一個接口,要麼全部實現,要麼聲明爲抽象類。

接口中所有的方法都是public abstract。

在接口中聲明方法時,不能使用native、static 、final 、synchronized 、private 、protected等修飾符。

接口中可以有數據成員,這些成員默認都是public static final。

在Java中,一個類可以實現多個接口。

一個類在繼承另外一個類的同時,可以實現多個接口

Class classname1 extends interface1 implementsclassname2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章