Enumeration列挙タイプ
2476 ワード
一部のプログラムの実行時に必要なデータは任意ではなく、一定の範囲内の値でなければなりません.
1つの列挙には、構造関数、フィールド、およびメソッドもあります.
1.列挙クラスは特殊な形式のjavaクラスと見なすこともできる
2.列挙で宣言された各列挙値は、列挙クラスのインスタンス・オブジェクトを表します.
3.Javaの一般クラスと同様に、列挙クラスを宣言する際に、属性、構造関数、メソッドを宣言することもできますが、列挙クラスの構築方法はプライベートである必要があります.
4.列挙クラスはインタフェースを継承したり、抽象クラスを継承したりすることもできます.
5.列挙クラスに列挙値が1つしかない場合は、単一状態設計モードとして使用できます.
列挙の定義形式:
Enumタイプ名{
A,B,C;
}
eg: enum Grade{
A("100-90"),B("89-80"),C("79-70");
.............
.............
}
上の例ではGradeは列挙タイプの名前(クラスを定義したクラス名に相当)であり、A,B,Cは列挙タイプの値(オブジェクトに相当)である
列挙例1:スコアレベルの列挙タイプを定義し、タイプの値に基づいてスコアレベルの範囲を印刷します.
列挙例2:抽象的な方法の列挙タイプを持ち、印刷成績の評価を実現する
1つの列挙には、構造関数、フィールド、およびメソッドもあります.
1.列挙クラスは特殊な形式のjavaクラスと見なすこともできる
2.列挙で宣言された各列挙値は、列挙クラスのインスタンス・オブジェクトを表します.
3.Javaの一般クラスと同様に、列挙クラスを宣言する際に、属性、構造関数、メソッドを宣言することもできますが、列挙クラスの構築方法はプライベートである必要があります.
4.列挙クラスはインタフェースを継承したり、抽象クラスを継承したりすることもできます.
5.列挙クラスに列挙値が1つしかない場合は、単一状態設計モードとして使用できます.
列挙の定義形式:
Enumタイプ名{
A,B,C;
}
eg: enum Grade{
A("100-90"),B("89-80"),C("79-70");
.............
.............
}
上の例ではGradeは列挙タイプの名前(クラスを定義したクラス名に相当)であり、A,B,Cは列挙タイプの値(オブジェクトに相当)である
列挙例1:スコアレベルの列挙タイプを定義し、タイプの値に基づいてスコアレベルの範囲を印刷します.
package cn.enumer;
import org.junit.Test;
public class Enumera {
enum Grade {
A("100-90"),B("89-80"),C("79-70"),D("69-60");
//
private String value;
//
private Grade(String value){
this.value=value;
}
//
public String getValue(){
return value;
}
}
@Test
public void test(){
print(Grade.C);
}
private void print(Grade g){
String value=g.getValue();
System.out.println(value);
}
}
列挙例2:抽象的な方法の列挙タイプを持ち、印刷成績の評価を実現する
package cn.enumer;
import org.junit.Test;
public class abstractEnum {
enum Grade {
A("100-90"){
public String getLacal(){
return " ";
}
},B("89-80"){
public String getLacal(){
return " ";
}
},C("79-70"){
public String getLacal(){
return " ";
}
},D("69-60"){
public String getLacal(){
return " ";
}
};
private String value;
private Grade(String value){
this.value=value;
}
public String getValue(){
return value;
}
public abstract String getLacal();
}
@Test
public void Test2(){
print(Grade.A);
}
private void print(Grade g){
String value=g.getLacal();
//String value1=g.getValue();
System.out.println(value);
}
}