• 反射的使用(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!"); 
        } 
    }
  • 相关阅读:
    改变传统电视对客厅文化的影响
    移动终端三分天下 何与争峰
    全球移动IM应用的迅猛发展前景
    电子医疗的发展和实现
    poj 1523(无向图求割点)
    poj 3255(次短路)
    poj 2125
    poj 3204
    图的连通度问题的求法(转)
    poj 3308
  • 原文地址:https://www.cnblogs.com/Jxliu/p/9253172.html
Copyright © 2020-2023  润新知