OOP,重寫與重載,異常處理機制,多線程,集合框架,IO流 -- Java基礎複習

面向對象(OOP)

面向對象編程語言擁有如下幾個重要的基本特性:

  1. 萬物皆爲對象(任何事物都可以表示爲程序中的對象)
  2. 每個對象都擁有其類型(類[class],在這裏 就是 類型 的同義詞)

面向對象的3大基本特點:

封裝(Encapsulation)
封裝是面向對象方法的重要原則,就是把對象的屬性和操作(或服務)結合爲一個獨立的整體,並儘可能隱藏對象的內部實現細節;

繼承(extends)
繼承是使用已存在的類的定義作爲基礎建立新類的技術. 新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類;通過使用繼承,我們能非常方便的複用代碼,但是值得注意的是:繼承會提高代碼耦合度

多態(Polymorphism)
多態是同一個行爲具有多個不同表現形式或形態的能力;多態就是同一個接口,使用不同的實例而執行不同操作;例如:

Animal animal_cat = new Cat();
Animal animal_dog = new Dog();
// --- 同一個接口(Animal)
// --- 不同實例 new Cat(),new Dog()

這裏涉及到方法的重寫,戳這裏進行了解;

重寫與重載

重寫(Override)

重寫是子類對父類的允許訪問的方法的實現過程進行重寫編寫,且返回值和形參都不能改變. 子類只在需要時重寫父類方法;

重載(Overload)

重載是在一個類中,方法名相同,而參數不同,返回類型可以相同,也可以不相同(最常用在構造器的重載);被重載的方法必須改變參數列表(參數個數或類型或順序不一樣);

構造方法

每個類都有構造方法,如果沒有爲類定義構造方法的話,Java編譯器將會爲該類提供一個默認構造方法;在創建對象時,至少調用一個構造方法;構造方法必須與類重名,例如:

public class Test{
    // --- 編譯器默認提供的構造方法;
    public Test(){

    }

    // --- 自己重載寫的構造方法;
    public Test(String name){

    }
}

作用:創建對象時調用構造方法,爲對象執行初始化;

異常處理機制

Java異常

拋出異常

在方法內拋出異常:
throw new Exception();
在方法上拋出(聲明)異常,可同時拋出多個:
public void test() throws Exception{}

捕獲異常

關鍵字:try – catch – finally

try{
    // --- 可能出現異常的代碼
}catch(Exception e){
    e.printStackTrace();
    // --- 捕獲異常後執行的代碼,無異常則不執行
}finally{
    // --- 無論是否發生異常都會執行的代碼
}

注意:trycatch 代碼塊中有 return 語句時,finally 中的代碼塊仍然執行(也就是 finally 中的代碼塊要先於 trycatchreturn 語句執行),參考戳這裏

多線程

作用:充分利用CPU資源;
Java-Thread
如何創建一個線程?(三種方式)

  1. 實現 Runnable 接口

    // --- 實現Runnable接口來創建一個線程
    public class ThreadTwo implements Runnable{
        // --- 重寫run方法
        public void run(){
            System.out.println("線程2正在運行...");
        }
        // --- start方法
        public void start(){
            System.out.println("線程2準備就緒, 獲取到CPU資源即可執行run方法");
        }
    }
    
    public class Test(){
        public static void main(String args[]){
            ThreadTwo t = new ThreadTwo();
            t.start();
        }
    }
  2. 繼承 Thread

    // --- 繼承Thread類來創建一個線程
    public class ThreadTwo extends Thread{
        // --- 重寫run方法
        public void run(){
            System.out.println("線程2正在運行...");
        }
        // --- start方法
        public void start(){
            System.out.println("線程2準備就緒, 獲取到CPU資源即可執行run方法");
        }
    }
    
    public class Test{
        public static void main(String arg[]){
            ThreadTwo t = new ThreadTwo();
            t.start();
        }
    }
  3. 通過 CallableFuture 創建線程
    沒用過,不敢誤人子弟詳情可以參考,這裏

集合框架

Collection:
Collection

Map:
Map

IO流

IO流

最後,感謝菜鳥教程,本文很多地方都是借鑑和參考了這個網站

Java教程 | 菜鳥教程

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