面向對象(代碼塊的概述和分類)

  • 代碼塊概述
    • 在java中,用{}括起來的被稱爲代碼塊
  • 代碼塊分類
    • 根據其位置和聲明的不一樣,能夠分爲局部代碼塊,構造代碼塊,靜態代碼塊,同步代碼塊(多線程講解)。
  • 常見代碼塊的應用
    • 局部代碼塊
      • 在方法中出現;限定變量生命週期,及早釋放,提升內存利用率
    • 構造代碼塊(初始化塊)
      • 在類方法中出現;多個構造方法方法中相同的代碼存放到一塊兒,每次調用構造方法都執行,而且在構造方法前執行
    • 靜態代碼塊
      • 在類中方法外出現,加了static修飾
      • 在類中方法外出現,並加上static修飾;用於給類進行初始化,在加載的時候就執行,而且只執行一次。
      • 通常用於加載驅動
      • 靜態代碼塊優先於主方法執行
public class Test03 { public static void main(String[] args) { { int x = 10; //局部代碼塊 限定變量的生命週期
 System.out.println(x); } Student s1 = new Student(); System.out.println("-----------"); Student s2 = new Student("zhangsan",23); } static {//優先主方法執行
        System.out.println("主方法類中的靜態代碼塊"); } } class Student { private String name; private int age; public Student() {    //空參構造
        System.out.println("kongca"); } public Student(String name, int age) {    //有參構造
        this.name = name; this.age =age; System.out.println("youcan"); } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getage() { return age; } {//構造代碼塊:每創一次對象就執行一次,並且優先於構造函數執行 //System.out.println("代碼塊");
 study(); } public void study() { System.out.println("xuexi"); } static {//隨類的加載而加載,且只執行一次,同來給類進行初始化
        System.out.println("靜態代碼塊"); } }
相關文章
相關標籤/搜索