这问题困难了我很久,请高人指点

解决方案 »

  1.   

    javabean中父类怎么获取子类的属性
      

  2.   

    如果你的意思是class A  {
      public void m();
    }class B extends A {
    }
    class C extends A {
    }在类A的方法m中获取出当前对象(不管到底是B还是C)的所有属性,可以this.getClass().getFields()/getDeclaredFields()得到,
    再通过field.get(this)得到里面的值
      

  3.   


    以下是父类代码:
    package test;import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;public class TestBase {
    public TestBase(String name){
    try {
    Class clazz = Thread.currentThread().getContextClassLoader().loadClass(name);
    Method[] methods = clazz.getMethods();
    for (int i = 0; i < methods.length; i++){
    System.out.println(methods[i].getName());
    if ("testName".equals(methods[i].getName())){
    try {
    methods[i].invoke(this, new Object[0]);
    } catch (IllegalArgumentException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IllegalAccessException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (InvocationTargetException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    以下是测试的子类代码:
    package test.impl;import test.TestBase;public class Test extends TestBase { public Test() {
    super("test.impl.Test");
    // TODO Auto-generated constructor stub
    }

    public void testName(){
    System.out.println("ok");
    }

    public static void main(String[] arg){
    new Test();
    }}