做网站接电话一般要会什么,国家建筑网官网,西宁网站建设,制作网站的手机软件枚举类
枚举类的理解
类的对象是有限个的#xff0c;确定的当需要定义一组常量时#xff0c;强烈建议枚举类
public class SeasonTest {public static void main(String[] args) {Season spring Season.SPRING;System.out.println(spring);}
}
class Season{// 声明seaso…枚举类
枚举类的理解
类的对象是有限个的确定的当需要定义一组常量时强烈建议枚举类
public class SeasonTest {public static void main(String[] args) {Season spring Season.SPRING;System.out.println(spring);}
}
class Season{// 声明season对象属性 private final 修饰private final String seasonName;private final String seasonDesc;// 私有化类的构造器private Season(String seasonName,String seasonDesc){this.seasonNameseasonName;this.seasonDescseasonDesc;}//提供当前枚举类的多个对象public static final Season SPRINGnew Season(春天,春暖花开);public static final Season SUMMERnew Season(夏天,夏日炎炎);// 获取属性public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}// 提供toStringOverridepublic String toString() {return Season{ seasonName seasonName \ , seasonDesc seasonDesc \ };}
}jdk5.0新增定义方式
public class SeasonTest1 {public static void main(String[] args) {Season1 summer Season1.SUMMER;// 继承于Enum类System.out.println(summer);}
}enum Season1{//1.提供当前枚举类的多个对象,多个对象之间用逗号隔开SPRING(春天,春暖花开),SUMMER(夏天,夏日炎炎);// 声明season对象属性 private final 修饰private final String seasonName;private final String seasonDesc;// 私有化类的构造器private Season1(String seasonName,String seasonDesc){this.seasonNameseasonName;this.seasonDescseasonDesc;}// 获取属性public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}}Enum类常用方法
方法说明values()返回枚举类型的对象数组valueof(String str)返回枚举类中对象名是str的对象toString()返回当前枚举对象常量的名称
public class SeasonTest1 {public static void main(String[] args) {Season1 summer Season1.SUMMER;// 继承于Enum类System.out.println(summer);System.out.println(summer.toString());Season1[] values Season1.values();for (int i 0; i values.length; i) {System.out.println(values[i]);}Season1 summer1 Season1.valueOf(SUMMER);System.out.println(summer1);}
}enum Season1{//1.提供当前枚举类的多个对象,多个对象之间用逗号隔开SPRING(春天,春暖花开),SUMMER(夏天,夏日炎炎);// 声明season对象属性 private final 修饰private final String seasonName;private final String seasonDesc;// 私有化类的构造器private Season1(String seasonName,String seasonDesc){this.seasonNameseasonName;this.seasonDescseasonDesc;}// 获取属性public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}}使用enum关键字定义枚举类实现接口的情况
实现接口在enum中实现抽象方法 public class SeasonTest2 {public static void main(String[] args) {Season2 spring Season2.valueOf(SPRING);spring.show();// 展示一段话}
}
interface info{void show();
}
enum Season2 implements info{//1.提供当前枚举类的多个对象,多个对象之间用逗号隔开SPRING(春天,春暖花开),SUMMER(夏天,夏日炎炎);// 声明season对象属性 private final 修饰private final String seasonName;private final String seasonDesc;// 私有化类的构造器private Season2(String seasonName,String seasonDesc){this.seasonNameseasonName;this.seasonDescseasonDesc;}// 获取属性public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}Overridepublic void show() {System.out.println(展示一段话);}
}每个成员接口显示不一样的 public class SeasonTest2 {public static void main(String[] args) {Season2 spring Season2.valueOf(SPRING);spring.show();// 春天展示}
}
interface info{void show();
}
enum Season2 implements info{//1.提供当前枚举类的多个对象,多个对象之间用逗号隔开SPRING(春天,春暖花开){Overridepublic void show() {System.out.println(春天展示);}},SUMMER(夏天,夏日炎炎){Overridepublic void show() {System.out.println(夏天展示);}};// 声明season对象属性 private final 修饰private final String seasonName;private final String seasonDesc;// 私有化类的构造器private Season2(String seasonName,String seasonDesc){this.seasonNameseasonName;this.seasonDescseasonDesc;}// 获取属性public String getSeasonName() {return seasonName;}public String getSeasonDesc() {return seasonDesc;}
}注解(Annotation)
Annotation是代码中的特殊标记在编译类加载运行时被读取并执行对应的操作Annontation可以像修饰符一样被使用可用于修饰包类构造器方法成员变量参数局部变量声明
生成文档相关的注解
注解说明author表明开发该类的作者多个用‘’分割version表明该类模块的版本see参考转向也就是主题since从哪个版本开始增加的param对方法中某参数说明没参数就不写return对方法返回值说明void就不写exception对方法可能抛出异常说明没throw显示抛出异常就不写
注
paramreturnexception这三个方法只用于方法param格式要求 param 形参名形参类型形参说明return格式要求 return 返回值类型 返回值说明exception格式要求 exception 异常类型异常说明
编译时进行格式检查JDK内置三个基本注解
注解说明Override限定重写父类方法Deprecated用于表示所修饰的元素已过时SuppressWarnings抑制编译器警告
跟踪代码依赖性实现替代文件配置功能
Servlet3.0提供了注解使得不再需要在web.xml文件中进行Servlet的部署Spring中事务管理
自定义注解
注解声明为interfaceAnnotation的成员变量在定义中以无参数方式方法的形式来声明其方法名和返回值定义了该成员的名字和类型如何自定义成员没有值起到标识作用
public interface MyAnnotation {String value() default hello;
}
JDK中的元注解
注解说明取值Retention只能用于修饰一个Annotation定义用于指定该Annotation类的生命周期Retention包含一个RetentionPolicy类型的成员变量SOURCE编译时抛弃CLASS不加载到内存里RUNTIME加载到内存通过反射获取Target用于修饰Annotation,用于指定修饰的Annotation能用于修饰哪些程序元素CONSTRUCTOR构造器FIFLD域LOCAL_VARIABLE局部变量METHOD方法Documented该Annotation类将被javadoc工具提成文档Inherited被他修饰的Annotation将具有继承性
可重复注解
可以在一个类上多次注解在MyAnnotation上声明Repeatable成员之为MyAnnotations.classMyAnnotation的Target和Retention等元注解和MyAnnotations相同