黑马程序员--增强for循环与 枚举

发布时间:2016-12-9 21:32:18 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"黑马程序员--增强for循环与 枚举",主要涉及到黑马程序员--增强for循环与 枚举方面的内容,对于黑马程序员--增强for循环与 枚举感兴趣的同学可以参考一下。

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------                                       增强for循环  语法:       for(type 变量名:集合变量名){....}  语法注意事项:       迭代变量必须在()中定义!       集合变量可以是数组或实现了Iterable接口的集合类 基本数据类型的自动拆箱与装箱  自动装箱   Integer num1=12;  自动拆箱   System.out.println(num1+12);                                  枚举  枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错,枚举可以让编译器在编译时就可以控制源程序中天蝎的非法值,普通变量的方式在开发阶段无法实现这一目标。  创建Constants接口,在接口中定义常量的常规方式。  public interface Constants{   public static final int Constants_A=1;   public static final int Constants_B=12;  }  在jdk1.5版本新增枚举类型后就逐渐取代了这种常量定义方式。使用枚举类型定义常量的语法如下:  public enum Constants{   Constants_A,   Constants_B,   Constants_C  }  其中,enum是定义枚举类型关键字。当需要在程序中使用该常量时,可以使用Constants.Constants_A来表示 枚举的基本应用  扩展:枚举类的values,valueOf,name,toString,ordinal等方法  总结:枚举是一种特殊的类,其中的每个元素都是该类的一个实例对象,例如可以抵用WeekDay.SUN.getClass().getName和WeekDay.class.getName()。 如果想在一个类中编译写完各个枚举类和测试调用类,那么可以将枚举定义成调用类的内部类 采用抽象方法定义nextDay就将大量的if.else语句转移成了一个个独立的类 枚举类型也可以在类的内部进行定义,下面代码将介绍如何在类的内部进行枚举类型的定义  public calss ConstantsTest{   enum Constants2{//将常量放置在枚举类型中    Constants_A,    Constants_B   }  }   枚举类型的常用方法; values() 该方法可以将枚举类型成员以数组的形式返回。  枚举类型名称.values() valueOf() 该方法可以实现将普通字符串转换为枚举实例  枚举类型名称.valueOf("abc") valueTo() 该方法用于比较两个枚举对象在定义是的顺序  枚举对象.compareTo() ordinal() 该方法用户得到枚举成员的位置索引   枚举对象.ordinal() valueTo()方法返回的结果中,0代表两个互相比较的枚举成员的位置相同,负值代表方法中参数在调用该方法的枚举对象位置之后 在枚举类中,任何方法必须在参数列表之后,而且任何如果参数列表之后有代码那么参数列表之后要加上;号 而且在枚举类中,任何方法都是private类型的 public enum WeekDay{  sun,mon,tue,wed,thi,fri,sat;  private WeekDay(){System.out.println("first")}  private WeekDay(int day){System.out.println("second")} } 实现带有抽象方法的枚举: public enum WeekDay{  sun{1},mon,tue,wed,thi,fri,sat;  private WeekDay(){System.out.println("first")}  private WeekDay(int day){System.out.println("second")} }    枚举就相当于一个类,其中也可以定义构造方法,成员便来那个,普通方法和抽象方法 枚举元素必须位于枚举体重的最开始部分,枚举元素列表的后面有分号与其他成员分隔。把枚举中的成员方法或变量等放在枚举元素的前面,便一起报告错误。 带构造方法的枚举  构造方法必须是私有的  如果有多个构造方法,该如何选择哪个构造方法?  枚举元素MON和MON()的效果一样,都是调用默认的构造方法 带方法的枚举(张孝祥老师在视频中讲解的模拟红绿灯)  定义枚举TrafficLamp  实现普通的next方法  实现抽象的next方法:每个元素分别是由枚举类的子类来生成的实例对象,这些子类采用类似内部类的方式进行定义。  增加上表示时间的构造方法 枚举只有一个成员时,就可以作为一种单利的实现方式。         ---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------  

上一篇:Linux进程间通信:IPC对象——信号灯集详解
下一篇:CSS Colors

相关文章

相关评论