您的位置:首页 > 职场人生

黑马程序员--【学习日记九】——基础加强

2014-09-12 16:20 302 查看

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
-------

知识列表
静态导入
可变参数
增强for循环
享元设计模式
枚举
反射
内省

1)静态导入:

import static 语句导入一个类中的某个静态方法或所有静态方法。

2)可变参数:

可变参数特点:只能出现在参数列表的最后。

3)增强for循环:

格式: for(type 变量名:集合变量名){} 增强for循环有局限性,必须有被遍历的对象。就像三元运算符必须有结果一样,一般简单意味有局限性。 

4)享元设计模式:

享元设计模式: 享元模式通过共享实现对象的重用。 优点:提高程序效率和性能的模式,会大大的增加程序的运行速度。极大的减少了内存中,对象 的数量,使得相同对象在内存中只保存一份。

5)枚举:

JDK1.5新特性。

枚举的好处:

1),定义常量:

1: public enum TrificLamp{
2:    RED,GREEN,YELLOW;
3: }


2)可以设计单利,枚举的每个元素都是其对象; 

6)反射:

反射就是将java中的各个成分通过类的形式进行操作。

操作类用Class类,操作方法用Method类,操作成员变量用Filed类,操作构造函数用Constructor类 

当成员被私有时,还能通过暴力反射进行访问和操作,filed.setAccessible(tr
4000
ue)

数组的反射: 

基本类型的一维数组可以被当作Object类型使用,不能当作Object[]类型使用; 

具有相同维数和元素类型的数组属于同一个类型,即具有相同的Class实例对象 

非基本类型的一维数组,即可以当作Object类型使用也可以当作Object[]类型使用。 

Arrays.asList()处理int类型数组和String类型数组的差异。 

int用System.out.print()打印的还是地址。而String可以打印对象的属性值。 

Array工具类用于完成对数组的反射操作

不能修改HashSet集合中参与了hashCode计算的元素的值,否则就会会出现无法删除该元素的情况,会造成内存泄漏

例子: 

1: public static void main(String[] args) {
2: Set<Person> set = new HashSet<Person>();
3: Person p1 = new Person("张三",20);
4: Person p2 = new Person("李四",21);
5: Person p3 = new Person("王五",22);
6: set.add(p1);
7: set.add(p2);
8: set.add(p3);
9:
10: p3.setAge(2); //修改p3的年龄
11: set.remove(p3); //无法删除
12:


12),反射的作用――>实现框架功能: 

工具类和框架的区别:工具类是被用户所调用,而框架则是调用用户提供的类。

7)内省:

1,什么是JavaBean: 

JavaBean是一种特殊类,主要用于传递信息,这种Java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。 

2,JavaBean的属性:

JavaBean的属性是根据其中的set和get方法来确定的,而不是根据其中的成员变量,去掉set和get后的名称就是属性名。如果剩余部分的第二个字母是小写,则把剩余部分的首字母改成小写。 

例子: setName()的属性名->name 

isOpen()的属性名->Open 

setAGE()的属性名->AGE 

getAGE()的属性名->AGE 

总之:一个类被当作JavaBean使用时,JavaBean的属性是根据方法名判断出来的。

一个符合JavaBean的特点的类可以当作普通类一样进行使用。但作为javabean处理有好处: 

JDK中提供了对JavaBean进行操作的一些API,这套API就称为内省,如果通过getX方法来访问私有 

的x,有一定难度,用内省操作JavaBean就变得很方便。

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
-------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sun java
相关文章推荐