A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 陈嘉宾 于 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;

   }
}

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
  1. 第4行:
  2. System.out.println(Person.getName() + Person.getAge());类名.成员名,这样是在访问类的静态成员,这里应该是
  3. System.out.println(obj.getName() + obj.getAge());
  4. 另外Person里的getName和getAge方法里有错误,应该是返回成员变量name和age。
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
哦哦尴尬。。谢谢没注意
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马