22.class类为编写可动态操纵java代码的程序提供了强大的功能反射,这项功能为JavaBeans特别有用,使用反射Java能支持VB程序员习惯使用的工具.能够分析类能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射机制十分强大.
1.在运行时分析类的能力.
2.在运行时探察类的对象.
3.实现通用数组操纵代码.
4.提供方法对象.
而此机制主要针对是工具者而不是应用及程序.
反射机制中的最重要的部分是允许你检查类的结构.用到的API有:
java.lang.reflect.Field 返回字段.
java.reflect.Method 返回方法.
java.lang.reflect.Constructor 返回参数.
方法指针:java没有方法指针,把一个方法的地址传给另一个方法,可以在后面调用它,而接口是更好的解决方案.
23.接口(Interface)说明类该做什么而不指定如何去做,一个类可以实现一个或多个interface.
24.接口不是一个类,而是对符合接口要求的类的一套规范.若实现一个接口需要2个步骤:
1.声明类需要实现的指定接口.
2.提供接口中的所有方法的定义.
25.一个类只有一个超类,但一个类能实现多个接口.Java中的一个重要接口Cloneable
26.接口和回调.编程一个常用的模式是回调模式,在这种模式中你可以指定当一个特定时间发生时回调对象上的方法.例:ActionListener 接口监听.
类似的API有:java.swing.JOptionPane
java.swing.Timer
java.awt.Tookit
27.对象clone:clone方法是object一个保护方法,这意味着你的代码不能简单的调用它.
28.内部类:一个内部类的定义是定义在另一个内部的类
原因是:1.一个内部类的对象能够访问创建它的对象的实现,包括私有数据
2.对于同一个包中的其他类来说,内部类能够隐藏起来.
3.匿名内部类可以很方便的定义回调.
4.使用内部类可以非常方便的编写事件驱动程序.
29