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

反射(上)

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

反射(上)

  1. 什么是反射?
    反射机制是一个动态机制,允许我们在程序运行期间再确定对象的实例化以及方法和属性的调用。

  2. 为什么需要反射?
    使用反射可以在程序运行在确定下面执行的内容,像生活中的“见机行事”,这样可以大大提高代码的灵活度

  3. 使用反射注意事项
    反射机制有更多的内存开销和较慢的运行效率。所以不能过度依赖反射机制。

  4. 获取类名的方式

public class ReflectDemo1 {
    public static void main(String[] args) throws ClassNotFoundException {
        //1.最常见
        //相当于String照镜子,cls就是反射的内容,包含方法构造
        Class cls = String.class;

        //Class类的对象就是反射机制
        //每个被JVM加载过的类都会有且有一个Class的实例与之对应
        //Class类对象中包含着它对应的类中包含的相关信息
        //(类名,属性,方法,构造等)

        //2.Class cls = <对象名>.getClass();
        String str = "adfsdafas";
        cls = str.getClass();

        //3.全类名:包名+类名
        cls = Class.forName("java.lang.String");
    }
}

获得包下面所以类名和方法

 Scanner scan = new Scanner(System.in);
        System.out.println("请输入类名");
        //java.lang.String
        String className = scan.nextLine();
        Class cls = Class.forName(className);

        //获得当前Class类对象对应的类名
        String name = cls.getName();
        System.out.println(name);

        //获得这个类中所有方法
        Method[] methods = cls.getMethods();
        System.out.println(methods.length);
        for (Method m : methods){
            System.out.println(m.getName());
        }
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/592228.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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