java學習3--Java 中包的概念,類的說明符與內部類

1、包

package  mybo;

mybo包下的類在硬盤上都存在mybo的文件夾下,執行類時需要確定文件夾路徑。

2、類的說明符

類的訪問說明符:public   default

public的類可以被包外的包裏的類訪問,default的類只能被同一包下的類訪問。

類的其他修飾符:final  ,abstract

final的類不能被繼承。

3、方法的說明符

public ,protected,default ,private

同類:這四類方法都可以進行訪問

同包不同類:只有private的方法不能被訪問

不同包但是之間有父子關係的:只有public,protected的方法纔可以訪問

通用的,不同包也不存在繼承關係的:只有public的可以訪問

其他的方法修飾符:

static final native abstract ,synchronized

final的方法:爲了確保某個方法在被繼承過程中被子類覆蓋或者修改,那就聲明爲final

class中的所有的private和static方法都是final的。

4、抽象方法和抽象類

抽象方法沒有函數體。

抽象類不能進行實例化對象。

5、垃圾回收

finalize()函數,垃圾收集器在執行前會調動此函數,一般垃圾回收再虛擬機中以低線程執行,只要當內存感覺不夠的時候纔會允許垃圾收集器。

6、接口

接口的方法都是默認的public abstract的,所以我們在實現一個接口時,需要用public聲明。

在接口中聲明方法時,不能使用native static final private protected synchronized.

接口可以用public  default修飾

接口可以用數據成員,這些數據成員默認是public static  final 即共有的靜態常量。

7、內部類

在一個類中定義另一個類叫做內部類,

內部類可以將邏輯上相關的類串聯起來。並由外部類控制內部類的可見性。

內部類字節碼的文件名:外部類名¥內部類名組成

當我們創建了一個內部類,其對象就擁有了與外部類對象的一直關係,這是通過一直特殊的this reference形成的。

(使用new創建的對象保存在堆內存中,其引用保存在棧內存中,)

內部類可以訪問外部類的所有的成員,主要有你對象中保存了外部類的this對象。

內部類訪問自身的成員變量:this.X,訪問外部類的成員變量:O.this.X(o是外部類,y是內部類名)

內部類不能用new 去直接創建,而是o.new y() (o=new O())

內部類的修飾內同於類中的方法(public,protect default  private。。。)

當內部類被定義爲static時,我們就不需要聲明外部類的對象了,就可以直接訪問內部類,同時內部類不能訪問外部類的非靜態方法和變量了。

沒有用static修飾內部類時,其不能有靜態的方法。

內部類的繼承: 派生類在產生對象時會去先調用父類的構造函數,這就需要內部類的對象,而內部類的對象需要先產生外部類,從而建立內部類到外部類的引用關係,

故派生類的構造函數需要傳入外部類的對象,然後通過外部類對象.super()方式來建立從內部類對象到指定外部類的引用關係,例如:

public  class test extends outer.inner{

	/**
	 * @param args
	 */
	test(outer io)
	{
	  io.super();
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
      outer ou=new outer();
      test ts=new test(ou);
	}

}

8、異常處理

對於一般可能存在發生異常的方法,通常在方法後面throws exception 來拋出異常。而在調用方法時拋出的異常需要去捕獲否則編譯出錯,當然也可以再次拋出將異常拋給其他方法。

語法:try/catch/catch..../finally,finally的語句無論有沒有發生異常都會執行。

System.exite

 

發佈了17 篇原創文章 · 獲贊 8 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章