编程语言
首页 > 编程语言> > Java基础编程4

Java基础编程4

作者:互联网

枚举类型相当于特殊的类,经过编译之后同样产生一个class文件。枚举类型中可以定义方法(包括构造

方法)、属性、静态的方法和属性、继承接口、重载覆盖等,类似于class。

枚举类型的定义:

public enum ColorSelect {

RED,BLUE,BLACK YELLOW,GREEN;

}

枚举类型使用enum来声明类型,枚举类型的每一个枚举值(枚举属性)都是枚举类型的实例,且都是

public static final类型的实例。

枚举类型的继承:

      1.所有的枚举类型都隐含的继承自java.lang.Enum类,又因为Java是单继承的,所以一个枚举类型不能继承任何其他的类。

      2.枚举类型因为继承了java.lang.Enum类,又因为java.lang.Enum实现了java.lang.Comparable和java.io.Serializable接口,所以枚举类型也默认实现了这两个接口。

枚举类型的构造方法:

      1.必须是private访问权限,不能使public权限。这样就可以保证在枚举类型定义的外部无法使用new 来创建枚举值。

      2.使用构造方法(当然是带参数的构造方法)赋值,则必须给所有的枚举值赋值;如果写了构造方法,却没有使用其用于赋值,则会报错。

继承自父类(java.lang.Enum)的方法:

      1. ordinal()方法: 返回枚举值在枚举类种的顺序。这个顺序根据枚举值声明的顺序而定。

        Color.RED.ordinal(); //返回结果:0

        Color.BLUE.ordinal(); //返回结果:1

      2. compareTo()方法: Enum实现了java.lang.Comparable接口,因此可以比较象与指定对象的顺序。Enum中的compareTo返回的是两个枚举值的顺序之差。当然,前提是两个枚举值必须属于同一个 枚举类,否则会抛出ClassCastException()异常。

        Color.RED.compareTo(Color.BLUE); //返回结果 -1

      3.values()方法: 静态方法,返回一个包含全部枚举值的数组。

        Color[] colors=Color.values();

        for(Color c:colors){

                System.out.print(c+",");

        }//返回结果:RED,BLUE,BLACK YELLOW,GREEN,

       4.toString()方法: 返回枚举常量的名称

        Color c=Color.RED;

        System.out.println(c);//返回结果: RED 

        5. valueOf()方法: 这个方法和toString方法是相对应的,返回带指定名称的指定枚举类型的枚举常量。

        Color.valueOf("BLUE"); //返回结果: Color.BLUE

        6.equals()方法: 比较两个枚举类对象的引用。

        Color.valueOf("BLUE"); //返回结果: Color.BLUE

枚举类型可以用于switch语句。

. 修饰符总结

1.四个访问控制符:

.private访问范围在同一个类中

.friendly(默认,不写) ,访问范围同一个包中或者同一个类中

.protected访问范围子类

.pubic 访问全局范围内

注意:在不写访问控制符的情况下,就是friendly(默认)修饰符

2.类修饰符:

.public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是

公共类。

.friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类。

.abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现。

.final,将一个类声明为最终(即非继承类),表示他不能被其他类继承。

3.成员变量修饰符:

.public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问。

.private(私有访问控制符)指定该变量只允许自己的类的方法访问,其他任何类(包括子类)中的

方法均不能访问。

.protected(保护访问控制符)指定该变量可以别被自己的类和子类访问。在子类中可以覆盖此变

量。

.friendly ,在同一个包中的类可以访问,其他包中的类不能访问。

.final,最终修饰符,指定此变量的值不能变。

.static(静态修饰符)指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个

类。

4.方法修饰符:

.public(公共控制符),指定该方法可以从所有类访问

.private(私有控制符)指定此方法只能有自己类等方法访问,其他的类不能访问(包括子类)

.protected(保护访问控制符)指定该方法可以被它的类和子类进行访问。

.final,指定该方法不能被重载。

.static,指定不需要实例化就可以激活的一个方法。

.synchronize,同步修饰符,在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防

止其他线程的访问,运行结束后解锁。

.native,本地修饰符。指定此方法的方法体是用其他语言在程序外部编写的。

5.初始化块:

.static(可选),使用static修饰的初始化块被称为静态代码块

标签:修饰符,Java,Color,控制符,编程,基础,访问,枚举,方法
来源: https://blog.csdn.net/yxm12138/article/details/119180186