黑马程序员技术交流社区

标题: 使用反射的方式,调用构造函数初始化的问题[已解决] [打印本页]

作者: 陈嘉宾    时间: 2012-6-11 18:06
标题: 使用反射的方式,调用构造函数初始化的问题[已解决]
本帖最后由 陈嘉宾 于 2012-6-11 18:32 编辑

编译过不去了。。提示无法从静态上引用非静态方法。哪位高手帮我看看。。谢谢

class fanshe
{
        public static void main(String[] args) throws Exception
        {
                Person obj= Person.class.getConstructor (String.class,int.class).
                        newInstance("xp",18);
        
                System.out.println(Person.getName()+Person.getAge());



        }
}

class Person
        {
        private String name;
        private int age;
  
        public String getName()
        {
         return name;
        }
  public void setName(String name)
        {
         this.name=name;
        }
        public int getAge()
        {
       return age;
        }
  public void setAge(int age)
        {
  this.age=age;
        }
        public Person(){}
         public Person(String name,int age){
        this.name=name;
    this.age=age;

   }
}
作者: 赵兵锋    时间: 2012-6-11 18:12
  1. 第4行:
  2. System.out.println(Person.getName() + Person.getAge());类名.成员名,这样是在访问类的静态成员,这里应该是
  3. System.out.println(obj.getName() + obj.getAge());
  4. 另外Person里的getName和getAge方法里有错误,应该是返回成员变量name和age。
复制代码

作者: 陈嘉宾    时间: 2012-6-11 18:18
哦哦尴尬。。谢谢没注意




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2