一、枚举是一个特殊的类
1.一般枚举表示的是一组常量,它用enum关键字来定义的,各个常量用逗号(,)隔开
例如:
enum Color
{
RED,GREEN,BLUE
}
这里面的RED,GREEN,BLUE都是color里面的常量
2.每个枚举都是通过class在内部实现的,所有枚举的值都是public static final的
例如:
class Color{
public static final Color Red =new Color();
public static final Color GREEN =new Color();
public static final Color BLUE =new Color();
}
3.在switch中使用枚举
enum Color
{
RED, GREEN, BLUE;
}
public class MyClass {
public static void main(String[] args) {
Color myVar = Color.BLUE;
switch(myVar) {
case RED:
System.out.println("红色");
break;
case GREEN:
System.out.println("绿色");
break;
case BLUE:
System.out.println("蓝色");
break;
}
}
}
输出:蓝色
4.在枚举中有一个特殊的东西--values,他是编译器自动帮你生成的,很特殊!!
5.枚举的常用方法:
values():以数组形式返回枚举类型的所有成员;
valueOf():将普通字符串转换为枚举实例;
compareTo():比较两个枚举成员在定义时的顺序;
ordinal():获取枚举成员的索引位置。
二、Java方法的重载
package No_1;
/*
测试重载方法
名字相同的独立的方法
*/
public class TestOverload {
//方法名相同,参数的个数不同,构成重载
public static int add(int a,int b){
int sum = a +b;
return sum;
}
// 只有参数名称不同,不构成方法的重载(上下只有参数名称不同)
// public static int add(int b,int a){
// int sum =a+b;
// return sum;
// }
// 只有返回类型不同(double,int)也够不成方法的重载
// public static double add(int a,int b){
// int sum =a+b;
// return sum;
// }
public static int add(int a,int b,int c){
int sum = a+b+c;
return sum;
}
//方法名相同,参数个数相同,参数类型不同,构成重载
public static double add(double a,int b){
double sum = a+b;
return sum;
}
//方法名行啊同,参数个数相同,参数顺序不同,构成重载
public static double add(int a,double b){
double sum = a+b;
return sum;
}
public static void main(String[] args) {
System.out.println(add(1,2));
System.out.println(add(1,2,3));
System.out.println(add(3,3.5));
System.out.println(add(3.5,3));
}
}