java分散式(類特性)

費曉行發表於2018-06-05

【 宣告:版權所有,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】


    java號稱是最物件導向的語言。誠然,java克服了很多c++的缺點,同時兼具虛擬機器、垃圾回收、跨平臺等很多優點,java的確是一門非常優秀的語言。因此,我們有必要好好的說一說java的類特性。


1、主類和普通類

    java檔案的特點,決定了檔名和主類必須是一樣的。假設檔案是node.java,那麼主類一定是public class node。至於其他的class只能是普通類。

class parent {

}

public class node {
	public static void main(String[] args){
		return;
	}
}

2、類函式和成員函式

    如果函式可以通過類名可以直接訪問,那麼這個函式肯定是類函式,也就是static函式。當然,如果函式需要類例項化後才能訪問,那麼就是普通的成員函式。

public class node {

	public int process(){
		return 1;
	}

	public static void main(String[] args){
		return;
	}
}


3、繼承、封裝、多型

    繼承、封裝、多型是物件導向的基本特性。這一點在java上面表現得淋漓盡致,因為幾乎所有的檔案都是類,連通用函式也被設計成static函式。

class parent {
	String name;

	public void parent(String name){
		this.name = name;
	}

	public void show(){
		System.out.println("parent");
	}
}

class child extends parent{

	public void show() {
		System.out.println("child");
	}
}


4、abstract類

    abstract類是不能例項化的類,它一般由abstract function和普通function構成。有了abstract function,我們可以將那些需要定製化的function放到子類來處理。

abstract class parent {
	String name;

	public void parent(String name){
		this.name = name;
	}

	abstract public void show();
}

class child extends parent{

	@Override
	public void show() {
		System.out.println("child");
	}
}

5、interface型別

    interface型別可以看成是abstract類的升級版。interface中的函式不允許實現。且interface中不允許出現成員變數,同一個子類可以實現多個interface,使用起來非常方便。這也相當於從另外一個角度實現了多重繼承的功能。

interface process {

	public void show();
}

class child implements process{

	@Override
	public void show() {
		System.out.println("child");
	}
}

6、內部類

    內部類,是指那些可以在function、class、public class內部定義的類。這些類一般用於本檔案使用,主要是為了本地的資料管理使用,不對外公開。

class parent {

	class inner {
		
	}
}


7、匿名類

    對於某一些只使用一次的子類,我們可以直接用匿名類進行編寫。匿名類相當於一般的子類,只是我們使用的時候一般直接進行new處理,這相當於不需要對子類重新命名了,故由此得名而來。

class parent {

	class inner {
		void show() {}
	}

	inner i = new inner(){
		void show() {
			System.out.println("show");
		}
	};
}


8、異常類

    異常類主要是以Exception為基礎的型別,它主要用來處理NULL指標、除0運算、鍵盤中斷、檔案讀取失敗等異常。異常一般需要在function中顯示進行throw處理。

public class node {

	public static void main(String[] args){

		try{
			int a = 5/0;
		}catch(Exception e){

		}
		return;
	}
}


9、類的泛型處理

    類的泛型處理,這一點有點像c++下面的template。java下面除了String、StringBuffer、IO、File、InputStream、OutputStream這些類之外,就屬Array、Set、Hash、Map這些泛型類用的最多,建議大家好好掌握。

class generic<E>{
	
}


相關文章