1. 程式人生 > 其它 >JAVA篇:Java 多執行緒 (六)原子操作類java.util.concurrent.atomic

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.在出現異常方法的呼叫者中捕獲並處理異常。