zoukankan      html  css  js  c++  java
  • Java反射机制小例子

    package com.wjy.main;
    
    import java.io.Console;
    import java.lang.reflect.Constructor;
    import java.lang.reflect.Method;
    
    import com.wjy.reflect.Student;
    
    public class TestMain {
        public static void main(String args[]){
            try{
            Class<?> cls=Class.forName("com.wjy.reflect.Student");
            //Class cls=Class.forName("com.wjy.reflect.Student");
            //Class cls=Student.class;
            //Class cls=new Student().getClass();
            /*上四句是等价的,但是最好使用第一种方法。
             * 
             */
            
            
            Constructor<?> cons[] = cls.getConstructors();
    //        System.out.println(cons[0]);
            
    //        Method method=cls.getDeclaredMethod("hi", new Class[]{int.class,String.class});
    //        method.invoke(cls.newInstance(),20,"shb");
            
    //        Student student=null;
    //        student=(Student)cls.newInstance();
    //        student.hi(66, "shirly");
            
            Student student=null;
            student=(Student)cons[0].newInstance();
            student.hi(88, "shirly");
            /**
             * 以上为三种方法,被注释的是前两种种方法。效果是等价的。
             */
            
            }catch(Exception e){
                e.printStackTrace();
            }
            
    //        Student student=new Student();
    //        System.out.println(student.getClass().getName());
        }
    }

    其中Student类为:

    package com.wjy.reflect;
    
    public class Student {
        private int age;
        private String name;
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public void hi(int age,String name){
            System.out.println("大家好,我叫"+name+",今年"+age+"");
        }
    }
  • 相关阅读:
    c#驱动操作mongodb辅助类MongoDBHelper
    c#多线程lock无效
    利用Aspose.Words将html转成pdf和将html转成word
    前后端值映射的问题
    本机部署流程详解
    Git 安装配置手册
    js对象数组(JSON) 根据某个共同字段 分组
    jquery中的$.fn的用法
    JSON.parse()与JSON.stringify()的区别
    添加编辑 时 数据不可重复验证
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/javafanshe.html
Copyright © 2011-2022 走看看