zoukankan      html  css  js  c++  java
  • Class类相关

    Class类是java.lang包中的类,该类的实例可以帮助程序创建其他类的实例或者取得其他类的对象的内部信息

    使用class类获得一个类相关的class类(注意得到的是class类,不是相关的类) 比如类名 classFuck类

    有类方法(静态方法)public static Class forName(String classFuck)throw ClassNotFoundException

    然后我们用Class对象调用以下方法(classFuck必须有一个无参构造函数

    public Object newInstance() throws InstantiationException,IllegalAccessException

    我们就可以拥有了一个classFuck类的实体

    try{
                Class cs=Class.forName("A");//这里用string的形式
                A a=(A)cs.newInstance();//这里用回一个(A)
                System.out.println(a.f());
            }
            catch(Exception a){
                System.out.println(a.getMessage());
            }

    如果我们有了一个实例了,我们可以用getClass()的方法,返回一个和对象相关class 实例

    这个class有以下方法可以了解到classfuck类的信息

    String getName()

    Constructor[] getConstructors()//返回类的所有构造方法

    Field[] getDeclaredFields()//返回类的全部成员变量

    Method[] getDeclareMethods()//返回类的全部方法

    import java.util.regex.*;
    import java.lang.reflect.*;
    import java.util.Scanner;
    public class test{
        public static void main(String args[]){
            A a=new A();
            Class b=a.getClass();
            System.out.println(b.getName());
            Constructor[] c=b.getDeclaredConstructors();
            Field[] d=b.getDeclaredFields();
            Method[] e=b.getDeclaredMethods();
            for(int i=0;i<c.length;i++){
                System.out.println(c[i].toString());
            }
            for(int i=0;i<d.length;i++){
                System.out.println(d[i].toString());
            }
            for(int i=0;i<e.length;i++){
                System.out.println(e[i].toString());
            }
        }
    }
    
    class A{
        int a=2,b=3;
        int f(){
            return a*b;
        }
        void ff(){
            System.out.println("fuck");
        }
        A(int a,int b){
            this.a=a;
            this.b=b;
        }
        A(){}
    }
  • 相关阅读:
    dom解析和sax解析
    pull解析和sax解析的区别
    HashMap和HashTable的区别
    Java Socket通信原理简介
    Socket通信原理简介
    Android获取网络连接状态(3G/Wifi)及调用网络配置界面
    Android布局控件之LinearLayout
    onAttachedToWindow () 和 onDetachedFromWindow () ; 以及更新视图的函数ondraw() 和dispatchdraw()的区别
    Android开源界面库--ResideMenu用法
    iOS如何接收服务端返回的布尔值
  • 原文地址:https://www.cnblogs.com/vhyc/p/5950581.html
Copyright © 2011-2022 走看看