传智播客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
相关文档:
import java.util.Properties;
public class ConfigReader {
private static Properties cache = new Properties();
static{
try {
cache.load(ConfigReader .class.getClassLoader().getResourceAsStream("config.properties"));
} catch (Exception e) {
&nbs ......
public class Factory {
private static Factory factory;
private static Object classLock=Factory.class;
private Factory(){}
public static Factory getFactory(){
synchronized(classLock){
......
package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Test {
public static void main(String arg[]) {
String fileName = "E:\\share\\test.txt";
File file = new File(fileName);
......
java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多 ......
本人正在学习Java,那些知识点都学得很好,但一旦要我用所学的知识做个项目出来我就无从下手,不知道从哪里做起才好!一方面的原因是我的阅读量太少了,二者经验不足!我正焦急着怎么改变我这种状态,所以想找些做项目的教材来自学,但真不知道该看哪些教材好,所以在此向各位项目高手请教,请给我一些建议或推荐给我一些教 ......