21.class类 object类中的getclass方法返回ckass类型的一个实例,程序启动时包含在main方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载的类都要加载它需要的类。 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.提供接口中的所有方法的定义。 声明一个类实现一个接口需要使用implements 关键字 class actionB implements Comparable 其actionb需要提供CompareTo方法,接口不是类,不能用new实例化一个接口。 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.代理类(proxy): 1.指定接口要求所有代码 2.object类定义的所有的方法(toString equals) 30.数据类型:Java是强调类型的语言,每个变量都必须先申明它都类型,java中总共有8个基本类型.4种是整型,2种是浮点型,一种是字符型,被用于Unicode编码中的字符,布尔型。 |