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

知识列表
  • 静态导入
  • 可变参数
  • 增强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(true)

数组的反射: 
基本类型的一维数组可以被当作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培训、期待与您交流! -------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值