zoukankan      html  css  js  c++  java
  • Java基础笔记14

    1.反射.
    Class:反射类 任何一个类都有一个Class反射类.(影子)
    java.lang.reflect.*;
    Field:字段类
    Method:方法类类
    Constructor:构造方法类.

    2.获取反射类
    //1.获取反射类 类名.class
    Class clazz1=People.class;
    //2.通过全类名
    Class clazz2=Class.forName("demo.People");
    //3.对象获取
    People p=new People();
    Class clazz3=p.getClass();
    3.通过反射类实例化对应的类对象.
    clazz.newInstance();

    4.通过反射类获取类中的属性.
    //获取父类或自己本类中public修饰的属性
    Field ageField= clazz1.getField("age");
    ageField.set(p, 156);
    //只获取本类中自己声明的属性
    Field nameField=clazz1.getDeclaredField("name");
    nameField.setAccessible(true);//允许赋值
    nameField.set(p, "张三");
    System.out.println(p);
    5.获取某个类的全部方法
    Method showMethod= clazz1.getMethod("print",int.class);
    //调用该方法
    showMethod.invoke(p,15);

    Method[] ms=clazz1.getDeclaredMethods();
    for(Method m:ms){
    System.out.println(Modifier.toString(m.getModifiers())+" "
    +m.getReturnType().getName()+" "+m.getName()+"("+Arrays.asList(m.getGenericParameterTypes())+")");
    }











  • 相关阅读:
    notebook笔记
    from __future__ import absolute_import
    GUI
    version_info
    函数参数
    None
    exec、eval
    os
    IGeometry接口
    IGeometry接口
  • 原文地址:https://www.cnblogs.com/qq634571685/p/6844929.html
Copyright © 2011-2022 走看看