初始化與清理的理解七

2021-09-26 01:43:46 字數 563 閱讀 7311

1、列舉型別

enum關鍵字,它使得我們在需要群組並使用列舉型別集時,可以很方便的處理。在此之前,你需要建立乙個整型常量集,但是這些列舉值並不會必然的將其自身的取值限制在這個常量集的範圍之內,因此它們顯得更有風險,且更難以使用。

由於列舉型別的例項是常量,因此按照命名慣例它們都用大寫字母表示(如果在乙個名字中有多個單詞,用下劃線將它們隔開)。

在你建立enum時,編譯器會自動新增一些有用的特性。例如,它會建立tostring()方法,以便你可以很方便的顯示某個enum例項的名字,編譯器還會建立ordinal()方法,用來表示某個特定enum常量的宣告順序,以及static values()方法,用來按照enum常量的宣告順序,產生由這些常量值構成的陣列。

儘管enum看起來像是一種新的資料型別,但是這個關鍵字只是為enum生成對應的類時,產生了某些編譯器行為,因此在很大程度上,你可以將enum當作其他任何類來處理。事實上,enum確實是類,並且具有自己的方法。

enum有乙個特別實用的特性,即它可以在switch語句內使用。

大體上,你可以將enum用作另外一種建立資料型別的方式,然後直接將所得到的型別拿來使用。

初始化與清理的理解七

1 列舉型別 enum關鍵字,它使得我們在需要群組並使用列舉型別集時,可以很方便的處理。在此之前,你需要建立乙個整型常量集,但是這些列舉值並不會必然的將其自身的取值限制在這個常量集的範圍之內,因此它們顯得更有風險,且更難以使用。由於列舉型別的例項是常量,因此按照命名慣例它們都用大寫字母表示 如果在乙...

初始化與清理(3)

當類的成員變數沒有指定初始化值時,在例項化時會初始化乙個預設的值,而方法的區域性變數一定要進行初始化,否則編譯器會報錯。初始化順序 靜態資料初始化 非靜態資料初始化 構造器初始化 當對多種初始化方式對同乙個變數進行了初始化,該變數的值會被覆蓋,例如乙個非靜態成員變數會首先被初始化為乙個預設值,當構造...

java 初始化和清理

區別過載方法可通過 1.引數不同 2.引數相同,順序不同 過載的引數是基本型別時,可提公升也可窄化轉換 char型略不同,公升至int型 package com.learn public class demo06 class dog public void bark float f,int x pu...