JAVA基礎--重載與重寫,接口與抽象類,構造方法的作用,代碼塊的分類

 重寫和重載的區別:

 * 1、重載:一個類中方法之間的關係,重寫:父類方法被子類重寫

 * 2、重載它對權限修飾符、返回值沒有限制。 但是重寫有。子類的權限修飾符。不能比父類小。

 * 3、參數列表:重載要求參數列表不同。重寫。參數必須一致。

 * 4、重載和重寫都要求 方法名一致、



 接口和類之間是實現
 接口和接口之間是繼承
 接口和抽象類的區別:
 * 1、接口沒有構造器。但是抽象類有。
 * 2、接口中只有抽象方法,抽象類中可以有抽象方法
 * 3、接口中的變量都是公共靜態常量 而且修飾符可以省略,抽象類沒有限制。
 * 4、接口和抽象類都不能實例化。 


接口中的兩種元素:
  一個是公共的靜態的常量【修飾符都可以省略】public static final      這三個修飾符的順序是可以任意的,如static final public ; final public static
  一個是公共的抽象方法。【修飾符可以省略】 默認爲public abstract 
  沒有構造器、


構造方法的作用:
 * 初始化對象。
 * 初始化對象的成員變量、
      default不能跨包使用。default修飾的類不行。而成員也不行。
      protected不能直接跨包使用,但是如果通過繼承,子類是可以拿到的。

 *  構造器能不能被子類繼承     但是可以被子類調用。
 *  super(); 用於子類構造器調用父類構造器。super還可以調用父類非靜態方法; 


代碼塊:[只要在代碼塊中定義的變量,就是局部變量]
 * 普通代碼塊:在方法中。
 * 靜態代碼塊:在類中,方法外,用static修飾。在類加載的時候,就會被調用。
 * 構造代碼塊:在類中,方法外,沒有用static修飾。在創建對象的時候,被自動調用。
 * 【構造方法和構造代碼塊的區別?】
 * 作用都是用來初始化對象,但是構造代碼塊比構造方法先執行。但是構造方法它的辨識度高。
 * 同步代碼塊:在線程中會用到,即線程鎖  synchronized,此處就是同步代碼塊。 

public class Test4 {
	public static void main(String[] args) {		
		int a = -12;
		// 普通代碼塊
		{
			System.out.println(a);
			int b = 13;
		}
		// System.out.println(b);
		Test4 t = new Test4();
		Test4 t2 = new Test4();
	}
	static {
		System.out.println("靜態代碼塊");
	}
	{
		System.out.println("構造代碼塊");
	}
	public void run() {	
	synchronized (new Object) {
		for(;i<10;i++){
		System.out.println("同步代碼塊");
		}
	}
	}
}



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