zoukankan      html  css  js  c++  java
  • 反射的使用(1)

    package work;
    
    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    
    public class demo04 {
        /*6.定义一个标准的JavaBean,名叫Person,包含属性name、age。
        使用反射的方式创建一个实例、调用构造函数初始化name、age,使用反射方式调用setName方法对名称进行设置,
        不使用setAge方法直接使用反射方式对age赋值。*/
        public static void main(String[] args) throws Exception {
            Class c = Class.forName("work.Person");
            Constructor con =c.getConstructor(String.class,int.class);
            Object obj =con.newInstance("刘继勋",20);
            System.out.println(obj);
            
        
            Field f =c.getField("age");
            f.set(obj,25);
            System.out.println(obj);
            
            Method m =c.getMethod("setName",String.class);
            
            m.invoke(obj,"liu");
            System.out.println(obj);
        }
    }
    package work;
    
    public class Person {
        private String name;
        public  int age;
        public Person(){}
        public Person(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
        public void eat(){
            System.out.println("吃饭");
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + "]";
        }
        public void run() { 
            System.out.println("welcome to oracle!"); 
        } 
    }
  • 相关阅读:
    python安装pip
    MySQL免安装版
    git仓库删除所有提交历史记录,成为一个干净的新仓库
    git地址带上密码,不用每次提交都输入密码
    virtualenv
    mac卸载python
    换源
    屏幕旋转,ViewController触发事件
    ViewController启动加载过程
    使用 symbolicatecrash转化crash日志
  • 原文地址:https://www.cnblogs.com/Jxliu/p/9253172.html
Copyright © 2011-2022 走看看