-
class.forName()代表动态加载类查看全部
-
万事万物皆对象,任何一个类都是Class的实例对象,这个实例对象有三种表示方式。 Foo foo1 = new Foo(); 第一种:Class c1 = Foo.class(); 第二种:Class c2 = foo1.getClass(); 第三种:Class c3 = null;c3 = Class.forName("Foo类的全称"); c1、c2、c3均为Foo类的类类型; Foo foo = (Foo)c1.newInstance();//将类类型转换为foo类型 须有无参的构造方法查看全部
-
interface接口就是一个标准查看全部
-
区分动态加载类和静态加载类查看全部
-
万事万物皆对象,任何一个类都是Class的实例对象,这个实例对象有三种表示方式。 Foo foo1 = new Foo(); 第一种:Class c1 = Foo.class(); 第二种:Class c2 = foo1.getClass(); 第三种:Class c3 = null;c3 = Class.forName("Foo类的全称"); c1、c2、c3均为Foo类的类类型; Foo foo = (Foo)c1.newInstance();//须有无参的构造方法查看全部
-
1、成员变量是对象,Field 类封装了成员变量的信息 方法: getFields() 获取所有 public 成员变量 getDeclaredFields() 获取所有自己声明的成员变量,不包括从父类继承来的。 2、构造函数是对象,Constructor 封装了构造函数的信息 方法 getConstructors() 获取所有构造方法查看全部
-
获取方法信息: 基本数据类型,void关键字都存在类类型 class.getMethods()方法获取是该类的所有public方法,包括从父类继承的方法; class.getDeclareMethods()方法获取该类自行声明的所有方法,不论访问权限; method.getName()获取方法名 method.getReturnType()获取方法的返回值 method.getParameterTypes(),获取方法的参数类型的类类型数组class[] 三获取方法信息: 一、基本的数据类型,void关键字等都存在类类型 Class c = 基类.class (int,String,double,void等) 二、Class类的基本API操作的 1、c.getName()可以获取类的名称 2、c.getSimpleName();//不包含包名的类的名称 3、c.getMethods()获取类的【public方法】集合,【包括继承来的】 ***注意【所有方法都是Method类的对象】 4、c.getDeclaredMethods()获取的是所有该类【自己声明】的方法,【不问访问权限】 三、Method类提供了一些操作方法的方法 1、.getReturnType()得到该方法的返回值类型的类类型(class),如int.class String.class 2、.getName()得到方法的名称 3、.getParameterTypes()获得参数列表类型的类类型,如参数为(int,int)则得到 Class c1 = int.class; int的类类型 Class c2 = String.class; String类的类类型 String类字节码 Class c3 = double.class; double这个数据类类型的字节码表示方式 Class c4 = Double.class; Double这个类的类类型字节码表示方式 Class c5 = void.class; 表达了void这个类的类类型 getName为这个类的类类型的具体名称 c1.getName ---> int c2.getName ---> java.lang.String 类的全称 c2.getSimpleName ---> String 不包含包名的类的名称查看全部
-
静态加载类是在编译时进行,动态加载类是在运行时进行;静态加载在编译时有错误会报错,动态加载在编译时有错误不会报错,在运行时才会报错。 Class.forName("类的全称") 不仅表示了类的类类型,还代表了动态加载类 类分为 2 种: 1、静态加载类 编译时,加载的类是静态加载类。 Foo foo = new Foo(); 创建对象是静态加载类,编译时就要加载所有要用到的类,如果其中 1 个类有问题,就无法通过编译。解决该问题,可以使用动态加载类。 2、动态加载类 运行时,加载的类是动态加载类 Class.forName("com.reflect.Foo"); 编译时不检查用到的类是否存在,运行时再检查。查看全部
-
//HelloWorld类也是对象,是java.lang.Class类的对象 //每一个类都有一个隐含的静态成员变量class Class c1 = HelloWorld.class //已知道该类的对象,通过getClass()方法获得类类型 HelloWorld hello = new HelloWorld(); Class c2 = hello.getClass(); //通过Class类的forName()方法 Class c3 = Class.forName("包名.HelloWorld"); 结果:c1==c2==c3 (c1,c2,c3称为类类型) //通过类类型的newInstance()方法,可以获得类的对象 HelloWorld hello2 = (HelloWorld)c1.newInstance();查看全部
-
class类查看全部
-
集合泛型只在编译前有效,防止错误输入,编译之后无效查看全部
-
编译之后集合是去泛型化的,即使说编译之后集合是没有泛型的查看全部
-
Method 的对象是 某一个方法的对象查看全部
-
Method 的对象是 某一个方法的对象查看全部
-
java.lang.reflect.Field封装关于成员变量的操作 java.lang.reflect.Method封装关于方法的操作 java.lang.Constructor封装构造函数信息查看全部
举报
0/150
提交
取消