黑马程序员--java高新技术 25--枚举,反射
来源:互联网 发布:阿里云 宕机 编辑:程序博客网 时间:2024/05/21 09:28
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
/*1.5 新特性总结:静态导入可变参数增强for(foreach)基本数据的自动拆装箱枚举泛型*//*25-2API: Application Programming Interfacejava EEIDE: Integrated development environmentjmsjmxjndi*//*25-3preference--java--compiler //javac 编译器版本|--Installed JREs //java 运行的版本 |--general--keys //快捷键file--switch workspace //切换工作间*//*25-4debug 透视图下:r变量--watch*//*25-5r--run as--run configuration--jre //运行环境低版本的java不能运行高版本的javac编译的程序,会出现 UnsupportedClassVersionErrorr(一个工程)--properties--run/debug setting--edit--(edit configuration) //该路径也可打开运行环境*//*25-6模板代码:properties--java--editer-templates*//*25-7jar Libaray 更改jre库,Libaray 就是很多的jarr工程--build path--configure build path--java build path *//*25-81.5 新特性 静态导入*//*25-91.5 新特性 可变参数overload vs override*//*25-101.5 新特性 增强for*//*25-111.5 新特性 基本数据的自动拆装箱享元设计模式flyweight:有很多个小的对象,它们有很多属性相同,把它们变成一个对象,那些不同的属性变成方法的参数,称之为外部状态,那些相同的属性称之为内部状态。*//*25-121.5 新特性 枚举*//*25-14枚举的基本应用:name();ordinal();//类似数组的角标valueOf("SUN").toString();values(); 把枚举变成数组*//*25-17Class cls = 字节码;获得字节码的三种方式:System.class;new Date().getClass();Class.forName("java.util.Date");//全名预定义的实力对象://参照isPrimitive();void.class;int.class = Integer.Type;//还有其他的7种基本数据类型。isArray();//是否是数组。*//*25-19反射会导致程序的性能下降*//*25-20getField(pt1);getDeclaredField(pt1);setAccessible(true);//暴力反射*//*25-22谁有数据谁就是干这个事的专家,方法就分配给谁。*//*25-23用反射调用 main 方法的原因是可以在没有加载 类的前提下用 class.forName(name); 方法来加载类, 之后就可以执行main 方法了。r--run as--run configuration--arguments //用于给程序传递参数。*//*25-24getSuperclass();可变参数:若满足1.4 的条件就按照1.4的处理,不满足就按照1.5的处理。*//*25-26存入HashSet 集合的元素(对象) 的 数据发生改变时,其hashcode 的值也会发生改变,因此在使用时应该注意其HashCode 值 是否有发生改变。否则会发生内存泄露。*//*25-27反射的作用:实现框架*//*25-28getClass().getResourceAsStream(); //无法通过类加载器写入数据*//*25-29内省:introspectorjavaBean: 以set 或 get 开头 的方法 的类*///个人疑问:?1, ?2, ?3, ?4import java.lang.reflect.Constructor;public class Demo {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub//WeekDayClass clazz = WeekDay.MON.getClass();//@0 用getClass()获得的构造函数是一个 //?1: 为何是一个? 为何会少掉构造函数?少掉了哪些构造函数?Constructor[] cons = clazz.getDeclaredConstructors();System.out.println("共有 "+cons.length+" 个构造函数");for (Constructor con : cons) {System.out.println(con.toGenericString());}Class clazz1 = WeekDay.class;//@1 与@0 相比 用 .class 的方法却获得3个。 //?2: 为何是3个 ,多出来的那个构造函数是什么意思? ?3: 为何与@0 不同?Constructor[] cons1 = clazz1.getDeclaredConstructors();System.out.println("共有 "+cons1.length+" 个构造函数");for (Constructor con : cons1) {System.out.println(con.toGenericString());}System.out.println();//Weekday1 Class clazz2 = Weekday1.MON.getClass();//@2 与@0 相比 该方法enum 没有 abstract 方法, 获得的构造函数却是2个Constructor[] cons2 = clazz2.getDeclaredConstructors();System.out.println("共有 "+cons2.length+" 个构造函数");for (Constructor con : cons2) {System.out.println(con.toGenericString());}Class clazz3 = Weekday1.class;//@3 比较WeekDay 和 Weekday1,WeekDay仅多了一个abstract方法。//说明WeekDay 之所以会多出或少掉构造函数是因为 abstract 方法//?4:为何WeekDay 和 Weekday1 会有这样的差异?或者为何abstract方法会造成这样的差异Constructor[] cons3 = clazz3.getDeclaredConstructors();System.out.println("共有 "+cons3.length+" 个构造函数");for (Constructor con : cons3) {System.out.println(con.toGenericString());}}}enum WeekDay{ SUN(){ public WeekDay nextDay(){ return MON; } },MON(){ public WeekDay nextDay(){ return SUN; } }; WeekDay(){ System.out.println("first"); } WeekDay(int x){ System.out.println("second"); } public abstract WeekDay nextDay();}enum Weekday1{ SUN,MON; Weekday1(){ System.out.println("first"); } Weekday1(int x){ System.out.println("second"); } }
---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------
- 黑马程序员--java高新技术 25--枚举,反射
- Java高新技术-枚举和反射-----黑马程序员
- java高新技术_枚举反射内省(黑马程序员)
- 黑马程序员—java高新技术_枚举&反射&内省
- 黑马程序员 Java高新技术---枚举
- 黑马程序员--java高新技术----枚举
- 黑马程序员------java高新技术、枚举
- 黑马程序员--学习--高新技术--枚举和反射
- 黑马程序员--高新技术(枚举和反射)
- 黑马程序员-Java高新技术-反射
- 【黑马程序员】java高新技术反射
- 黑马程序员 Java高新技术---反射
- 黑马程序员-Java高新技术(反射)
- 黑马程序员 java高新技术 反射
- 黑马程序员--java高新技术----反射
- 黑马程序员--java高新技术--反射
- 黑马程序员------java高新技术、反射
- 黑马程序员---java高新技术:反射
- Remove Duplicates from Sorted Array II
- 3种get请求方式
- delphi 更改DBGrid 颜色技巧
- 每日一C-- 信号量结构体 利用信号实现进程间通信 初始化调用杀死
- CountDownTimer in Android
- 黑马程序员--java高新技术 25--枚举,反射
- Refactoring - replace Switch statement with state/strategy
- what a fucking day
- 3367Pseudoforest 伪森林 最小生成树
- 基于QCGP(QuadraticGW&PR)Combining 算法的白平衡处理程序
- ObjC学习补充
- linux调节亮度
- 30 Things I did After Installing Ubuntu 13.04 Raring Ringtail
- 25 Effective Website Navigation Designs