黑马程序员--java高新技术学习

来源:互联网 发布:seo中标签优化 编辑:程序博客网 时间:2024/06/05 17:18

---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ----------------------

1、静态导入 static import
导入一个类下面所有的静态成员
示例:import static java.lang.Math.*;


2、可变参数 variable
void testVariable(int num1,double... num2){}
需要注意的是 可变参数一定要位于参数列表的最后一位否则程序无法识别这和方法的重载是一个道理


3、增强for循环
for(static Object obj : args){}
循环对象可以用修饰语句


4、享元模式 flyweight
装箱时内存会开辟一个池存储数值然后让对象引用此值,如果还有另外一个对象引用相同的值此并且当此值很小(不超过一个字节)的时候那么他们引用的是一个值


5、用普通类(class)模拟枚举(enum)
· 私有构造函数
· 在类中构造static final 对象


6、枚举enum
相见黑马程程序员-枚举学习文章


7、反射 {
反射会导致程序性能下降
字节码,类编译成字节码后存放在内存中
· Fields类->成员变量
· Constructor类->构造方法
· Method类->方法 {
    通过反射获取方法适合调用Method对象的invoke()    (如果参数为数组时应对参数拆箱方案) 1、将数组再打包成Object[]数组 2、将数组显示转换为(Object)
}
· 数组转换成Object的问题
int[]intArray = new int[]{1,2,3};
String[]stringAyyay = new String[]{"a","b"};
Object obj1 = intArray ; 
Object obj2 = stringArray;
Object [] obj3 = intArray ;  基本类型的数组无法转换成Object数组 (它不是对象数组)
Object [] obj4 = stringArray;
· 用hash集合存储的对象是根据其对应的hash位置来存储的,所以相同hash值会导致添加失效
反射主要是用于框架的开发
}


· 框架的概念以及用反射技术开发框架的原理
Properties 类似一个Hash集合 但是Properties 增强了对文件的操作
· 内省和JavaBean


如果一个类含有getter 和 setter就称之为JavaBean
JDK中提供了一个对JavaBean操作的类 java.beans.PropertyDescriptor 来专门操作Javabean 这就叫做内省




8、注解的入门和应用


注解就是一种标志,向编译程序传达一种信息 例如@Override


9、面向方面(AOP)概念
为目标的方法增加一些其他的操作就是面向方面
代理类的各个方法中一半除了要调用目标的相应方法和对外但会目标返回的结果外,还可以在代理方法中的以下位置加上系统功能的代码
1、调用目标方法之前
2、调用目标方法之后
3、处理目标方法异常的catch块中---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

原创粉丝点击