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+"");
        }
    }
  • 相关阅读:
    最长回文字符(需要补)
    无重复字符的最长子串
    两数之和——链表
    两个数之和
    android 动画基础绘——帧动画(三)
    android 动画基础绘——view 动画(二)[补]
    android 动画基础绘——view 动画
    全国疫情精准定点动态更新(.net core)
    桶排序
    计数排序
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/javafanshe.html
Copyright © 2011-2022 走看看