复习java第五天(枚举、Annotation(注释) 概述)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了复习java第五天(枚举、Annotation(注释) 概述),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5648字,纯文字阅读大概需要9分钟。
内容图文
一、枚举
传统的方式:
1 public class Season { 2 3 // 1、因为类的对象是固定的,所以类的属性是常量 4 public final String name; 5 public final String desc; 6 7 // 2、因为类的对象是有限个,所以不能在类的外部创建对象,构造器必须私有 8 private Season(String name,String desc){ 9 this.name = name; 10this.desc = desc; 11 } 1213//3、在类的内部创建对象,但要在类的外部能够访问到该对象,而且还不能修改。14publicstaticfinal Season SPRING = new Season("春天","春风又绿江南岸"); 15publicstaticfinal Season SUMMER = new Season("夏天","映日荷花别样红"); 16publicstaticfinal Season FALL = new Season("秋天","秋水共长天一色"); 17publicstaticfinal Season WINTER = new Season("冬天","窗寒西岭千秋雪"); 1819public String getName() { 20return name; 21 } 22public String getDesc() { 23return desc; 24 } 2526 @Override 27public String toString() { 28return "Season [name=" + name + ", desc=" + desc + "]"; 29 } 30 }
1 public class TestSeason { 2 3 public static void main(String[] args) { 4 5 Season SPRING = Season.SPRING; 6 System.out.println(SPRING); 78 } 9 }
现在的方式:
1 public interface DateInfo { 2 public String getDateInfo(); 3 }
1 public enum Season2 implements DateInfo { 2 3 SPRING("春天","春风又绿江南岸"){ 4 @Override 5public String getDateInfo() { 6return "2-5"; 7 } 8 }, 9 SUMMER("夏天","映日荷花别样红"){ 10 @Override 11public String getDateInfo() { 12return "5-8"; 13 } 14 }, 15 FALL("秋天","秋水共长天一色"){ 16 @Override 17public String getDateInfo() { 18return "8-11"; 19 } 20 }, 21 WINTER("冬天","窗寒西岭千秋雪"){ 22 @Override 23public String getDateInfo() { 24return "11-2"; 25 } 26 },; 2728private String name; 29private String desc; 3031private Season2(String name,String desc){ 32this.name = name; 33this.desc = desc; 34 } 3536public String getName() { 37return name; 38 } 3940public String getDesc() { 41return desc; 42 } 4344/* @Override 改为利用匿名内部类重写的方法更酷些 45 public String getDateInfo() { 46 System.out.println(this.toString().equals("SPRING")); 47 return null; 48 } */49 }
1 public class TestSeason { 2 3 public static void main(String[] args) { 4 5 // Season SPRING = Season.SPRING; 6 // System.out.println(SPRING); 7 // System.out.println(Season2.SPRING); 8 for (Season2 s:Season2.values()){ 9 // System.out.println(s); 10 // System.out.println(s.toString().equals("SPRING")); 11 System.out.println(s.getDateInfo()); 12 } 13 14 String str = "WINTER"; 15 Season2 s = Season2.valueOf(Season2.class, str); 16 System.out.println(s.getName()+" "+s.getDesc()); 17 } 18 }
二、Annotation(注释)
1、概述:
2、基本的 Annotation:
3、自定义 Annotation:
1 import java.lang.annotation.ElementType; 2 import java.lang.annotation.Target; 3 4 /** 5 * 1. 使用 @interface 定义注解 6 * 2. 使用类似于接口方法声明的方式来定义注解的属性: 其中返回值称为属性的类型, 方法名为属性的名称. 7 * 8 */ 9 @Target(value={ElementType.METHOD, ElementType.TYPE}) 10public @interface HelloAnnotation { 1112public String name() default "atguigu"; 1314 }
1 public class TestAnnotation { 2 3 @SuppressWarnings("unused") 4publicstaticvoid main(String[] args) { 5 6 A a = new A(); 7 a.method2(); 8 9 String str = "abc"; 10 } 11} 1213 @HelloAnnotation(name="abc") 14class A{ 1516 @HelloAnnotation() 17void method1(){} 1819 @Deprecated 20void method2(){} 2122} 2324class B extends A{ 2526 @Override 27void method1(){} 2829 }
原文:http://www.cnblogs.com/shellway/p/3719952.html
内容总结
以上是互联网集市为您收集整理的复习java第五天(枚举、Annotation(注释) 概述)全部内容,希望文章能够帮你解决复习java第五天(枚举、Annotation(注释) 概述)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。