当前位置: 首页 > news >正文

波哥昆明网站建设今日新闻

波哥昆明网站建设,今日新闻,手机网站有什么区别吗,动漫制作专业介绍目录 1.概述 2.获取Class对象 3.API 3.1.实例化对象 3.2.方法 3.3.属性 1.概述 反射,JAVA提供的一种在运行时获取类的信息并动态操作类的能力。JAVA反射允许我们在运行时获取类的属性、方法、构造函数等信息,并能够动态地操作它们。 2.获取Class…

目录

1.概述

2.获取Class对象

3.API

3.1.实例化对象

3.2.方法

3.3.属性


1.概述

反射,JAVA提供的一种在运行时获取类的信息并动态操作类的能力。JAVA反射允许我们在运行时获取类的属性、方法、构造函数等信息,并能够动态地操作它们。

2.获取Class对象

理论上来说JAVA反射最底层是基于class文件,JAVA提供了对class文件的运行时描述——即各个类的Class对象,JVM会为每个加载进来的class文件维护一个Class对象,这个Class对象叫做运行时类型信息,记录着对应类的所有相关的信息。

Class对象的获取方式:

1.通过Object类来获取

         Class<?> classType1=e.getClass();

2.通过Class类来获取

         Class<?> classType2=Class.forName("reflection.emplee");

3.API

3.1.实例化对象

JAVA中有四种方式实例化对象:

  • new
  • clone
  • 序列化
  • 反射

利用反射实例化对象:

实体类:

public class People {private String name;private String age;public void say(){System.out.println("my name is "+name+"\t"+age+" years old");}
}

实例化:

try {//方式1People people = (People) Class.forName("com.eryi.People").newInstance();//方式2
//            Constructor<People> constructor=People.class.getConstructor();
//            People people= constructor.newInstance();people.say();} catch (Exception e) {e.printStackTrace();}

3.2.方法

JAVA提供Method类型来表示方法,Class类中方法相关的API如下:

classType.getMethods()获取当前类以及父类的public方法
classType.getDeclareMethods()获取当前类的所有方法
classType. getMethod(String name.Class<?>... parameterTypes)获得当前类以及父类指定的public方法
classType. getDeclaredMethod(String name,Class<?>... parameterTypes) 获得当前类的指定的Method

代码示例:

注意:通过反射访问私有方法时要关闭安全检查。


//获取类对象Class<?> classType=Class.forName("reflection.emplee");//调带参构造实例化Constructor<?> constructor2=classType.getConstructor(new Class[]{String.class,int.class});emplee e3=(emplee)constructor2.newInstance(new Object[]{"张三",30});//获得指定方法Method method1=classType.getDeclaredMethod("toString",new Class[]{});String result1=(String)method1.invoke(e3, new Object[]{});System.out.println(result1);//获得全部方法(包括私有)Method[] methods=classType.getDeclaredMethods();for (Method m : methods) {System.out.println("方法名:"+m.getName()+"\t"+"返回值类型:"+m.getReturnType());}//调用私有方法Method method2=classType.getDeclaredMethod("getName",new Class[]{});//关闭安全检查method2.setAccessible(true);String result2=(String)method2.invoke(e3, new Object[]{});System.out.println(result2);

3.3.属性

JAVA提供Method类型来表示属性,Class类中与属性相关的API如下:

 classType. getFields()获得当前类以及超类的public Field
classType. getDeclaredFields()获得当前类申明的所有Field
 classType. getField(String name)获得当前类以及超类指定的public Field
 classType. getDeclaredField(String name)获得当前类申明的指定的Field
field.set(Object obj, Object value)通过反射动态设定Field的值
Object obj = field.get(Object obj)通过反射动态获取Field的值

代码示例:

//获取class对象所指定的属性,包括私有的
Field field = classType.getDeclaredField("name");
//关闭安全检查
field.setAccessible(true);"李四") ;
field.set(employeeSystem.out.println(field.get (employee)) ;

http://www.qdjiajiao.com/news/11933.html

相关文章:

  • 佛山网站建设的公司新闻播报最新
  • 警告欺骗网站模板怎么制作网站链接
  • 网站变灰css网络广告推广公司
  • 小程序定制开发广州广州做seo整站优化公司
  • 网站建设swot市场分析网络推广长沙网络推广
  • 个人网站建站系统黄冈网站推广软件
  • 秦皇岛网站排名最近有哪些新闻
  • 云网站制作的流程北京seo实战培训班
  • 深圳哪家网站建设好中国最新新闻
  • flash 制作网站交换友链是什么意思
  • 万州论坛网站建设seo网站优化
  • 资源网站快速优化排名今日财经最新消息
  • 营销型网站的目标是yandex网站推广
  • 广州优质网站排名公司提高工作效率的重要性
  • 网站建设招标书组成网络推广员怎么做
  • 怎么做网站下载链接短网址
  • 卖酒网站排名常州网站优化
  • 网站搭建设计seo查询外链
  • wordpress 开启日志南宁网站优化公司电话
  • 做品牌网站seo线下培训班
  • 旅游公司网站开发衡阳seo
  • 网站建设文书百度网站大全首页
  • wordpress 千万数据郑州seo网站有优化
  • 上海市建上海市建设安全协会网站今天最新消息
  • 网站建设中两个变量合并操作竞价推广的企业
  • 旅游景区网站建设百度查询最火的关键词
  • 哪家公司做网站便宜百度网址导航
  • 网站seo优化技术入门百度网站优化排名
  • 专业网站建设的网站做成app
  • 重庆手机网站推广资料营销平台建设