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

JAVA反射和CLASS类


感谢原文作者:http://blog.sina.com.cn/s/blog_62a6ceb10100gwe0.html
 
JAVA其实不算是一门动态语言,但JAVA中却又一种机制可以达到动态的某中效果,这就是JAVA中的反射。
     JAVA反射指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。
     都Java有个Object class,是所有Java classes的继承根源,其内声明了数个应该在所有Java class中被改写的methods:hashCode()、equals()、clone()、toString()、getClass()等。其中getClass()返回一个Class 对象。
    Class class十分特殊。它和一般classes一样继承自Object,其实体用以表达Java程序运行时的classes和interfaces,也用来表达enum、array、primitive Java types(boolean, byte, char, short, int, long, float, double)以及关键词void。当一个class被加载,或当加载器(class loader)的defineClass()被JVM调用,JVM 便自动产生一个Class object
产生Class对象的三种常用方法:
    Class c1 = Class.forName ("指定你要产生对象的类的全路径");
   
    String str = "abc";
  Class c1 = str.getClass();//基本数据类型也可以获得Class对象。
    //创建对象,对象点 getClass(); 
     Button b = new Button();
    Class c1 = b.getClass();
   //根据基本数据类型的包装类来获取对象
    Class c1 = Boolean.TYPE;
  Class c2 = Byte.TYPE;
  Class c3 = Character.TYPE;
  Class c4 = Short.TYPE;
  Class c5 = Integer.TYPE;
  Class c6 = Long.TYPE;
  Class c7 = Float.TYPE;
  Class c8 = Double.TYPE;
  Class c9 = Void.TYPE;
得到未知属性:
    Field[] field = 类对象.getDeclaredFields();  //它是得到所有属性  所以返回的是数组
    Field[] field1 = 类对象.getFileds() //它是得到所有公共属性。
    field[] filed2 = 类对象.getDeclaredField(); //得到单个属性
    field[] filed2 = 类对象.getField();  //得到单个公共的属性
得到未知方法
   getMethods()是得到所有公共方法。
  


相关文档:

解析Java类和对象的初始化过程

类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......

java中的Singleton (单立)设计模式(还没写完)

Java Singleton
模式(单身模式,单态模式)是一种创建型设计模式。用来保证在运行的应用程序中,一个Class只是实例化一次,也就是只有一个相应的对象存在。在
web 程序中我们会用一个核心的分配功能的Servlet程序,在这里我们就可以运用这种设计模式了。 ......

java语言 for ArcGis简单绘图

package demo1;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import ......

Agile Java 学习笔记(二) 起步

由于有一定的Java和JUnit的基础,所以感觉第一课比较简单,但收获还是有的,比如说重构部分介绍的内容。
JUnit要点:
测试方法的命名规则:
l  方法必须声明为public
l  方法的返回值必须为void
l  方法的名字必须以小写的test为前缀
l  方法不能接受任何参数
 
重构要点:
1. &nbs ......

java中的抽象类,接口,内部类

抽象类(abstract class):
    在class前加上abstract的类就是抽象类,如:public abstract class A{};
    用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法(抽象方法没有方法体)。
    含有抽象方法的类必须被声明为 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号