一:在 Java 运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意
一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息,以及动态
调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。Java 反射机制主要提供
了以下功能:
(1):在运行时判断任意一个对象所属的类;
(2):在运行时构造任意一个类的对象;
(3):在运行时判断任意一个类所具有的成员变量和方法;
(4):在运行时调用任意一个对象的方法;
(5):生成动态代理。
在 JDK 中,主要由以下类来实现Java 反射机制,这些类都位于java.lang.reflect
包中。
(1):Class类:代表一个类。
(2):Field类:代表类的成员变量(成员变量也称为类的属性)。
(3):Method类:代表类的方法。
(4):Constructor 类:代表类的构造方法。
(5):Array类:提供了动态创建数组,以及访问数组元素的静态方法。
二:foreach语句是for的简化版本,是java5的新特征之一,但是foreach语句并不能完全取代for语句,任何foreach语句都可以改写成for语句,其格式为:for(元素类型type 元素变量x:遍历对象obj){
引用了x的java语句;
}