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+"");
        }
    }
  • 相关阅读:
    Count on a tree
    图论1 1009
    DP2 1008
    DP1 1008
    NOIP 模拟 1006
    2019 CSP-S 初赛退役记
    9.13——TEST NOIP模拟测试
    [洛谷P2387][NOI2014]魔法森林
    [洛谷P2596][ZJOI2006]书架
    [BZOJ4241]历史研究
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/javafanshe.html
Copyright © 2011-2022 走看看