易截截图软件、单文件、免安装、纯绿色、仅160KB

Java反射1

1.1. 概述
反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。
反射本身并不是一个新概念,尽管计算机科学赋予了反射概念新的含义。在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination),并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。通俗意思就是把Java类中的各种成分映射成相应的Java类。例如,一个Java类中用一个Class类的对象来表示,一个类中的组成部分:成员变量,方法,构造方法,包等等信息也用一个个Java类来表示,就是汽车是一个类,汽车中的发动机,变速箱等等也是一个个的类。表示Java类的Class类显然要提供一个系列的方法来获得其中的变量,方法,构造方法,修饰符,包等信息,这些信息就是用相应类的实例对象来表示,他们是Field、Method、Contructor,Package等等。
1.2. Java类反射中的类
Java的类反射所需要的类并不多,主要是:Class、Field、Constructor、Method、Object,下面我将对这些类做一个简单的说明。
1.2.1.Object类:
每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
1.2.2.Class类:
Java类用于描述一类事物的共性,定义了该类事务有什么属性,没有什么属性,至于这个属性的值是什么,则是由这个类的实例对象来确定的,不同的实例对象有不同的属性值。Java程序中的各个Java类,他们是否属于同一个类事务,是不是可以用一个类来描述这类事务呢?这个类就是Class。
我们可以用Person类代表人,它的实例对象有张三、李四这样一个个具体的人,Class类代表Java类,它的各个实例对象又分别对象又分别对应什么呢?字节码。
对应各个类在内存中的字节码,例如:Person类的字节码,ArrayList类的字节码,等等。
如何得到字节码?
Ø         类名.class ,如:Date.class
Ø         对象.getClass(),如:new Date().getClass();
Ø         Class.forName(“类名”),如:Class.forName(“java.util.Date”)
注意:Java中有九中预定义字节码:8种基本数据类型和关键字void,用isPrimitive()方法可以判断是


相关文档:

java使用rocksaw和vserv tcpip实现基于ICMP的Ping功能

一:准备 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窗口下进入 ......

JAVA反射技术示例2 Method called

package javatest_danny;
import java.lang.reflect.*;
public class refectmethodtest {
 public static void main(String agrs[])
 {
    try
    {
          Class cmed=Class.forName("javatest_danny.baseclass");
&n ......

在Linux中使用Java Console

The
Java Console provides information about the Java Runtime Environment
(JRE) version, user home directory, and any error message that occurs
while running an applet or application. You can enable the Java Console
for the Linux platform.









......

JAVA通用Dao接口和hibernate的具体实现

基于泛型的通用Dao接口:(重要是在应用hibernate或JPA时运用)
  package com.qiujy.dao;
  import java.io.Serializable;
  import java.util.List;
  /**
  * 基于泛型的通用Dao接口
  */
  public interface GenericDao {
  void create(T entity);
  void delete(T entity);
  ......

java运行外部程序

public class RunExtraProgram {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  try {
   Runtime.getRuntime().exec("D:\\Program Files\\TTPlayer\\TTPlayer.exe");
  } catc ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号