JAVA篇:Java 多執行緒 (六)原子操作類java.util.concurrent.atomic
抽象類
abstract修飾符可以用來修飾方法也可以修飾類,如果修飾方法,那麼該方法就是抽象方法;如果修飾類,那麼該類就是抽象類。
抽象類中可以沒有抽象方法,但是有抽象方法的類一定要宣告為抽象類。
抽象類,不能使用new關鍵字來建立物件,它是用來讓子類繼承的。
抽象方法,只有方法的宣告,沒有方法的實現,它是用來讓子類實現的。
子類繼承抽象類,那麼就必須要實現抽象類沒有實現的抽象方法,否則該子類也要宣告為抽象類。
//abstract 抽象類:類 public abstract class Action{ //約束~有人幫我們實現 //abstract,抽象方法,只有方法名字,沒有方法的實現!! public abstract void doSomething(); //1.不能new這個抽象類,只能靠子類去實現它;約束!! //2.抽象類中可以寫普通的方法 //3.抽象方法必須在抽象類中 }
//抽象類的方法必須由繼承了他的子類全部實現,除非他的子類也是abstract
public
介面
普通類:只有具體實現
抽象類:具體實現和規範(抽象方法)都有!
介面:只有規範!自己無法寫方法~專業的約束!約束和實現分離:面向介面程式設計~
介面就是規範,定義的是一組規則,體現了現實世界中“如果你是....則必須能...”的思想。如果你是天使則必須能飛。如果你是汽車,就必須能跑。
介面的本質是契約,就像我們人間的法律一樣,制定好後大家都遵守。
介面的作用
1.約束
2.定義一些方法,讓不同的人實現~
3.介面中的所有定義的方法其實都是抽象的 public abstract
4.常量 public static final~靜態常量
5.介面不能被例項化~,介面中沒有構造方法!
6.implements 可以實現多個介面
7.必須要重寫介面中的方法
內部類
內部類就是在一個類的內部再定義一個類,比如,A類中定義一個B類,那麼B類相對A類來說就稱為內部類,而A類相對B類來說就是外部類了。
1.成員內部類-》可以訪問外部類當中的私有屬性或私有方法
2.靜態內部類 -〉不能訪問外部類中的屬性或方法
3.區域性內部類-〉在方法當中建立的類
4.匿名內部類-》沒有名字初始化類,不用把例項儲存在變數中
一個Java類中可以有多個class類,但是隻能有一個public class類
public class Outer { private int id; public void out(){ System.out.println("這是外部類的方法!"); } class Inner{ public void in(){ System.out.println("這是內部類的方法!"); } //獲得外部類的私有屬性~私有方法也可以獲得 public void getID(){ System.out.println(id); } }
public static void main(String[] args) {
//new
Outer outer=new Outer();
//通過外部類來例項化內部類
Outer.Inner inner=outer.new Inner();
inner.in();
inner.getID();
}
異常機制
![image-20210901205657945](/Users/pz/Library/Application Support/typora-user-images/image-20210901205657945.png)
異常處理機制
丟擲異常
捕獲異常
異常處理五個關鍵字:
try、catch、finally、throw、throws
自定義異常
使用Java內建的異常類可以描述在程式設計時出現的大部分異常情況。除此之外,使用者還可以自定義異常。使用者自定義異常類,只需繼承Exception類即可。
在程式中使用自定義異常類,大體可分為一下幾個步驟:
1.建立自定義異常類
2.在方法中通過throw關鍵字丟擲異常物件
3.如果在當前丟擲異常的方法中處理異常,可以使用try- catch語句捕獲並處理;否則在方法的宣告處通過throws關鍵字指明要丟擲給方法呼叫者的異常,繼續進行下一步操作。
4.在出現異常方法的呼叫者中捕獲並處理異常。