java反射之一
Posted zslm___
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java反射之一相关的知识,希望对你有一定的参考价值。
public static void main(String[] args) { try { Class cla = Class.forName("com.money.test.Employee"); Object obj = cla.newInstance(); Method method2 = cla.getDeclaredMethod("setNum", int.class); System.out.println(method2.invoke(obj, 3)); Method[] methods = cla.getDeclaredMethods(); for (Method method : methods) { System.out.println(method.getName()); if (method.getName().contains("setNum")) { System.out.println(method.invoke(obj, 2)); } } } catch (Exception ex) { System.out.println(ex.getStackTrace()); } }
class Employee { private int salary; private java.util.Date hireDay; private String name; public int getSalary() { return salary; } public void setSalary(int salary) { this.salary = salary; } public Date getHireDay() { return hireDay; } public void setHireDay(Date hireDay) { this.hireDay = hireDay; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Employee(String name, int salary, Date hireDay) { this.name = name; this.hireDay = hireDay; this.salary = salary; } public Employee() { } static private HashMap<String, String> dict = new HashMap<String, String>(); static { num=0; /* dict.put("1","Employee"); dict.put("2","Employee");*/ } @Override public String toString() { if (hireDay == null) hireDay = Calendar.getInstance().getTime(); SimpleDateFormat formatter; formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return String.format("name:%s,salary:%d,hireDay:%s", name, salary, formatter.format(hireDay)); } static int num; public static int getNum() { return num; } public static int setNum(int a) { num +=a; return getNum(); } }
以上是关于java反射之一的主要内容,如果未能解决你的问题,请参考以下文章