传智播客2009 12 24 二、java基础加强(2)
一、反射(Reflect)
反射就是把Java类中的各种成分映射成一个个的java对象。例如,一个类有:成员变量,方法,构造方法,包等等信息,利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。映射成对象后,就可以调用对象的方法对其操作了。与反射相关的重要的类有Class、Constructor、Method、Field等。
Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。
Ø定义:
public final class Class<T>extends Objectimplements Serializable
, GenericDeclaration, Type, AnnotatedElement
Ø重要方法摘要
返回值
方法的签名
static Class<?>
forName(String className)
返回与带有给定字符串名的类或接口相关联的 Class 对象。
Annotation[]
getAnnotations() 返回此元素上存在的所有注释。
ClassLoader
getClassLoader() 返回该类的类加载器。
Constructor<T>
getConstructor(Class... parameterTypes)
返回一个 Constructor 对象,它反映此 Class 对象所表示的类的指定公共构造方法。
Constructor<T>
getDeclaredConstructor(Class... parameterTypes)
返回一个 Constructor 对象,该对象反映此 Class 对象所表示的类或接口的指定构造方法。
Field[]
getDeclaredFields()
返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段,包括公共、保护、默认(包)访问和私有字段,但不包括继承的字段。
Method
getDeclaredMethod(String name, Class... parameterTypes)
返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法。
T
newInstance() 创建此 Class 对象所表示的类的一个新实例。
String
getName()
以 Strin
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
一:准备 www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
1. build vserv-tcpip-0.9.2-src
在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
十二 java面向对象程序设计(类的继承)
/**
* 类的继承
*/
class Person
{
private String name;
private int age;
public String setName(String name){this.name = name;return name;}
public int setAge(int age){this.age = age;return age;}
public void getInfo ......
今天是上课的第一天,新的老师、新的同学、新的环境,一切都是新的,从今天起我将在众多java大师的悉心辅导下进行为期四个月的魔鬼学习,以求使自己有一个脱胎换骨的变化,为自己将来的工作和生活奠定一个坚实的基础。
“工欲善其事,必先利其器”,对于MyEclipse的学习和使用就显得尤为重要:
&nb ......