/**
* @{#} ${file_name} Create on ${date} ${time}
*
* Copyright (c) 2007 by KUBAO.
*/
${package_declaration}
/**
* @author <a href="mailto:seawavecau@hotmail.com">Seawave</a>
* @version 1.0
*/
${typecomment}
${type_declarati ...
刚学集合的人可能会搞不明白一些东西,原因是集合类太多了,不知道该怎么用,不知道什么时候用哪个集合类,不知道显示数据的时候用什么集合类来显示,存储数据的时候用什么集合类来显示,他们直接又存在着什么必然的关系,等等。
这篇文章主要讲集合方面的,会的就不用浪费时间看了。有不对的地方可以给补充下。非常感谢:(
其实,集合是分两个分支的,一个是列表集合,一个是键值对集合
1. 列表集合:Collection是所有列表结合的顶级父类
比较常用的有: ArrayList, EnumSet, HashSet,LinkedList, TreeSet, Vector
...
代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。
在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
代理模式一般涉及到的角色有
抽象角色:声明真实对象和代理对象的共同接口
代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装
真实角色:代理角色所代表的真实对象,是我们最终要引用的对象
动态代理中最关键的两点是:
InvocationHandl ...
==与equals,你能确定“==”表示的是比较内存地址,而“equals”表示的是比较内容这一说法吗?
真正的说法是:
1、==比较的是内存地址
2、equals比较的也是内存地址
请看Object中的equals源码实现
return (this==object)
之所以提到“equals”表示的是比较内容。而且自己写个String对象去做个测试,确实是比较了内容,而没有比较内存地址,是因为String类重写了equals方法。所以,别的类也是如此。
java.lang.Array 类提供了动态创建和访问数组元素的各种静态方法。例程
ArrayTest 类的main()方法创建了一个长度为10 的字符串数组,接着把索引位置为5 的元素设为“hello”,然后再读取索引位置为5 的元素的值
一、作为一维数组示例代码:
这里第21行,也可以这样写:Array.setInt(array_2,10,37);
java 代码
package com.test.reflect;
import&n ...
在JAVA运行环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。
这种动态获取类的信息以及动态调用类的对象的方法的功能来自于Java语言的反射(Reflection)机制。
JAVA反射机制主要提供了以下功能:
1、在运行时判断任意一个对象所属的类
2、在运行时构造任意一个类的对象
3、在运行时判断任意一个类所具有的成员变量和方法
4、在运行时调用任意一个对象的方法
Reflection是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一 ...
@Documented Annotation的使用:
@Documented Annotation的作用是在生成javadoc文档的时候将该Annotation也写入到文档中。
java 代码
package com.test;
import java.lang.annotation.Documented;
@Documented
public @int ...
有关Annotation的继承说明:
1、JDK文档中的说明是:只有在类上应用的Annotation才能被继承,而实际应用时的结果是:除了类上应用的Annotation能被继承外,没有被重写的方法的Annotation也能被继承。
2、要注意的是:当方法被重写后,Annotation将不会被继承。
3、要使得Annotation 被继承,需要在Annotation中加标识@Inherited,并且如果要被反射应用的话,就需要还有个@Retention(RetentionPolicy.RUNTIME) 标识
4、Annotation的继承不能应用在接口上
代码一、实现类上的继承
ja ...
@Target Annotation的使用
@Target Annotation表示的是这个Annotation可以应用在哪里,是对Annotation应用的限制,如果没有这个标识的话,Annotation可以用在任何地方,比如类上,方法上,变量、属性上等,可以从java.lang.Enum.ElementType这个枚举里选择。
1、只能用在方法上的限制的应用
java 代码
package com.test;
import java.lang.annotation.E ...
告知编译程序如何处理@Retention:
java.lang.annotation.Retention型态可以在您定义Annotation型态时,指示编译程序该如何对待您的自定义Annotation型态。
预定义上编译程序会将Annotation信息留在.class文档中,但不被虚拟机读取,而仅用于编译程序或工具程序运行时提供信息。
java.lang.annotation.RetentionPolicy 有三个枚举类型:CLASS、RUNTIME、SOURCE
只有当Annotation被指示成RUNTIME时,在运行时通过反射机制才能被JVM读取,否则,JVM是读取不到这个Ann ...
自定义Annotation类型:标识符(marker Annotation):@interface
Annotation的使用:可以放在任何地方,如类的前面,方法的前面,变量、属性的前面等等。
Annotation的定义:
在定义Annotation型态的时候不能继承其它的Annotation型态或接口
1、不带参数的定义与使用
java 代码
package com.test;
public @interface AnnotationTest { ...
1、Override 强制检查子类的方法重写
java 代码
package com.test;
public class OverrideTest {
@Override
public ...
- 浏览: 29761 次
- 性别:

- 来自: 杭州

- 详细资料
搜索本博客
我的相册
ExtJs中关于grid和store的应用分析(一)
共 14 张
共 14 张
最近加入圈子
最新评论
-
ExtJs视频教程集锦
怎么ftp上还没有, 急死了!
-- by slmdyk -
EXTJS动态树的实现
不明白你说的意思
-- by yahaitt -
EXTJS动态树的实现
你好! 请问添加节点时, 提示需要验证: http://localhost:80 ...
-- by davy138 -
ExtJs想入门的请进-解读 ...
非常感谢!正在学extjs,正不知道该如何下手。对java script不熟悉, ...
-- by xt95 -
关于动态树的完整示例代码 ...
...
-- by yahaitt






评论排行榜