我是靠谱客的博主 故意大船,最近开发中收集的这篇文章主要介绍黑马程序员——自学笔记8(反射),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------

反射:就是把Java类中的各种成分(变量、方法、构造方法等)映射成相应的Java类,消耗资源比较多

Constructor类:代表某个类中的构造方法

    //获得String类中的某个构造方法

Constructor[] cons=String.class.getConstructor(StringBuffer.class);

//选择用哪个构造方法

Constructor

cons1= String.class.getConstructor(StringBuffer.class);

//传一个带参数值的StringBuffer对象

String str1=(String)cons1.newInstance(new StringBuffer(“abc”));

Field类:代表某个类中的成员变量

    ReflectPoint pt1=new ReflectPoint(3,5);

    Field f=pt1.getClass().getField(“y”);//把类中的变量y变成f对象

    f.get(pt1);//将类中的变量值赋给f

若成员变量是private的,不能用getField(),暴力获取:

    Field fi=pt1.getClass().getDeclareField();

Method类:代表类中的成员方法

    Method methodCharAt=String.class.getMethod(“charAt”,int.class);

                                                 方法名     参数类型

    methodCharAt.invoke(str1,1);//实现str1.charAt()

                       类对象,参数值

                       (null,1);//调用类中静态方法

    对带有数组参数的成员方法进行反射

       String startingClassName=args[0];

       Method mainMethod=

Class.forName(startingClassName).getMethod(“main”,String[].class);

mainMethod.invoke(null,(Object)new String[]{“111”,“222”,“333”});

Array类:数组的反射类

       getLength(数组名)

       get(数组名,下标)—取指定下标的元素

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------

最后

以上就是故意大船为你收集整理的黑马程序员——自学笔记8(反射)的全部内容,希望文章能够帮你解决黑马程序员——自学笔记8(反射)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部