栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java反射

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java反射

反射 Java 中的反射机制

​ 在运行状态中(不是在编译的时候),对于任何一个类,都能知道这个类所有的属性和方法

​ 对于任意一个类对象,都能调用它的任意一个方法或访问其任意一个属性

​ 这种动态得到对象的信息,以及调用对象的方法的功能叫java的反射机制

Java反射的机制主要提供了以下功能

在运行时判断任意一个对象所属的类在运行时构造任意一个类的对象在运行时,访问任意一个对象的所有成员变量和方法生成动态代理 JDK中关于反射有以下类

* Class
* Constructor  //代表构造函数
* Method  //代表类中的方法
* Field   //代表类中的属性
Class类 Class 类的说明

Class类的实例表示正在运行的Java应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为Class对象的一个类。所有具有相同元素属性和维数的数组都共享该Class对象。基本数据类型(int,long…)和关键字void也表示为Class对象。 如何得到class类对象

1. Class c  =  类名.class  	==>	Dog.class;
2. Class c = 实例名称.getClass();  ==> Dog dog = new Dog();   Class c = dog.getClass();
3. Class c = Class.forName("类的全路径名");	==>	Class.forName("com.mysql.jdbc.Driver");

class Dog{
        void speak(){
        System.out.println("汪汪汪")
    }
}
用反射创建一个对象
1. 普通方法
//		Dog dog = new Dog();
//		dog.speak();
2. 类名.Class创建		
//		Class c = Dog.class;
//		Dog dog = (Dog)c.newInstance();	//newInstance 这个方法调用的是类中的默认的无参的构造函数
//		dog.speak();
3. Class.forName()创建		
//		Class c = Class.forName("com.test.Dog"); //注意这里必须是全类名
//		Dog dog = (Dog)c.newInstance();	
//		dog.speak();




class Dog{
    void speak(){
        System.out.println("汪汪汪")
    }
}
其他类

​ JDK中关于反射的类,都在java.lang.reflect包中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760261.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号