关闭

JAVA反射之Class类的使用

标签: Class类
334人阅读 评论(0) 收藏 举报
分类:


1.几个基本的概念

1.1.在面向对象的世界里万事万物皆对象,但是普通数据类型、和static东西(属于类的)。

1.2.类是对象,是java.lang.Class的实例对象

1.2.1.我们创建一个类的实例对象可以通过new关键字创建比如:User user = new User();

1.2.2.创建Class类的实例化对象:通过源码可以看见他的构造方法时private的,注释上写明只能通过JVM创建。

1.2.3.任何一个类都是Class的实例对象,这个实例对象有三种表示方式

1)第一种:Class c1 = User.class;(表明:任何一个类都一个隐含的静态成员变量)。

2)第二种:Class c2 = user.getClass();(已知该类的对象通过getClass方法)。

注明:c1c2表明了User类的类类型。即万事万物皆对象,类也是对象,是Class的实例对象,这个对象我们称之为该类的类类型。c1=c2一个类只可能是Class类的一个实例对象。

3)第三种:

try{
     c3 = Class.forName(“business.User”);
   }catch(ClassNotFoundExpcetion e){
     e.printStackTrace();
   }


总结:我们完全可以通过类的类类型创建该类的实例对象,即通过c1c2c3创建User类的实例对象:User user = (User)c1.newInstance()(需要无参数的构造方法)

0
0
查看评论

对于JAVA反射机制和CLASS类的个人理解

上周上课老师点我起来回答问题,问了一下JAVA反射机制,我本来对JAVA用得不多,加上有一段时间没有看过了,所以并没有能够答出来,之后就想要好好理解理解,加上老师布置作业让弄懂JAVA反射和Class类,所以CSDN第一次写博客,就来写写我对反射和Class的学习之后的感受吧。 --------...
  • qq_32377239
  • qq_32377239
  • 2016-10-16 19:41
  • 414

java反射(二):获取Class类的四种方式

我们创建了一个类,通过 编译(javac.exe),生成对应的.class文件,之后使用java.exe(JVM的类加载器来完成)加载此.class文件,此.class文件加载到内存以后,就是一个运行时类,存放在缓存区,这个运行时类就是一个 Class的实例。 java.lang.class是...
  • a137151062
  • a137151062
  • 2015-02-27 21:55
  • 2998

通过反射获取Class类型的三种方式

一、通过反射获取类的三种方式 1、通过  Class.forName("类的全称") 例如:Class cl1=  Class.forName("com.csdn.Test"); 2、通过  类名.class 例如...
  • skh2015java
  • skh2015java
  • 2016-10-08 17:11
  • 2332

Java反射---Class对象,获得类的方法、成员变量和构造函数信息

Class类任何一个类都是Class类的实例,而我们常见的对象,是用普通的类实例化出来的,也就是Class类的实例的实例。一个普通的类Foo的Class实例有三种表示方式: - 1、知道类名获取Foo的Class实例 Class c1 = Foo.class; - 2、通过Foo对象获得Foo...
  • twilight_karl
  • twilight_karl
  • 2017-06-28 15:47
  • 319

java中的反射二(Class类的作用)

Class类的作用  Class主要是反射的源头,不仅可以取得对象所在类的信息,也可以直接通过Class类的方法进行对象的实例化操作。 正常情况下我们通过关键字new进行对象实例化,如果现在已经实例化好的Class对象,则可以通过Class类中提供的方法 public &#...
  • yuan465887375
  • yuan465887375
  • 2013-04-15 21:39
  • 1015

Java 反射---获取Class的三种方式

public class ClassDemo1 { public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException{ /...
  • ShuiTianNaiLuo
  • ShuiTianNaiLuo
  • 2016-04-01 20:56
  • 2464

【反射】就是把java类中的各个成分映射成相应的java类

要反射的类 package com.xiaozhi.reflect; import java.io.InputStream; import java.util.List; public class Person { private String name; private int pass...
  • jingtianxiaozhi01
  • jingtianxiaozhi01
  • 2014-03-17 23:49
  • 1350

Java反射reflect学习笔记_2:反射类的构造函数

反射类的构造函数, 首先,通过Class获取类的字节码: Class clazz = Class.forName("com.marer.reflect.Per
  • nthack5730
  • nthack5730
  • 2015-11-13 20:35
  • 13134

Java 反射类--Class

我们先来看反射提供的功能: 反射机制提供功能: 加载运行时确定数据类型,解析类结构,获取内部信息 操作该类型或实例, 访问属性,调用方法,创建新对象 java反射是谁来提供呢? Class对象提供,但是首先需要通过JVM获取对象,创建Class对象 创建Class对象有三种方式: 使用Clas...
  • han_yankun2009
  • han_yankun2009
  • 2015-03-22 14:02
  • 1794

swift通过类名反射创建类

创建一个单视图应用swift工程,删除main.storyboard,修改工程中的Deployment info中的Main interface中的Main AppDelegate.swift 中的 didFinishLaunchingWithOptions修改为以下代码 ...
  • callzjy
  • callzjy
  • 2017-02-13 17:01
  • 578
    个人资料
    • 访问:33736次
    • 积分:842
    • 等级:
    • 排名:千里之外
    • 原创:60篇
    • 转载:3篇
    • 译文:0篇
    • 评论:3条
    最新评论