当前位置: 代码迷 >> Java相关 >> 大家看看为什么我的方法调用错误
  详细解决方案

大家看看为什么我的方法调用错误

热度:100   发布时间:2009-09-16 17:32:08.0
大家看看为什么我的方法调用错误
class Persons {
    int id;
    int age;
   
    public Persons (int i, int a) {
        id = i;
        age = a;
    }
   
    public int getId () {
        return id;
    }
   
    public int getAge () {
        return age;
    }
   
    public int reworkId (int i) {
        id = i;
        return id;
    }
   
    public int reworkAge (int i) {
        age = i;
        return age;
    }
   
    public void display() {
        System.out.println ("ID:" + id + "Age:" + age);
    }
}


public class Fanhui {
    public static void main(String args[]) {
        Persons a = new Persons(1,13);
        a.dispaly ();
        System.out.println("ID:" + a.getId);
        System.out.println("Age:" + a.getAge);
        System.out.println("ID:" + a.rework(2));
        System.out.println("Age:" + a.rework(15));
    }
}


谁能帮我检查一下方法调用出了什么问题。

[ 本帖最后由 vecomwa 于 2009-9-16 17:33 编辑 ]
搜索更多相关的解决方案: display  public  return  

----------------解决方案--------------------------------------------------------
先分析你的测试类
     a.dispaly ();// 属于书写错误  你定义的方法是--->display 注意看你的是dispaly
System.out.println("ID:" + a.getId);  //你需要返回的是a对象里的getId这个构造方法  那么基本的格式就错了应该是a.getId()其中括号是方法的一个标志
----------------解决方案--------------------------------------------------------
你还没有理解好面向对象的一些基本概念:
     public (修饰符) class 类名{
            ....//属性
            ....//方法
}

比如说你没有赋值--->此时java默认的构造方法会自动初始化
构造方法:  1-->无参的语法  
public 类名{
        .....//可以不写
}
2----->有参的语法
public 类名  (参数){

}

比如说你的这个就是有参的
public Persons (int i, int a) {
        id = i;
        age = a;
    }
----------------解决方案--------------------------------------------------------
对,你少写一个无参构造
----------------解决方案--------------------------------------------------------
        System.out.println("ID:" + a.rework(2));
        System.out.println("Age:" + a.rework(15));
这两句有问题,你并没有定义rework(int)方法,你定义的是reworkID和reworkAge两个方法
----------------解决方案--------------------------------------------------------
        System.out.println("ID:" + a.getId);
        System.out.println("Age:" + a.getAge);
另外getID和getAge的调用也不合法,两个方法没有参数不代表后面的括号也可以省略
----------------解决方案--------------------------------------------------------
回复 3楼 gameohyes
3楼,他有没有写无参构造函数与他的出错有关系吗?好像没有吧?楼主的错误都是很低级的,建议你以后多多练习!请问楼主是用什么软件来编写的,如果是在MyEclipse写,这些错误就会马上显示出来,比较方便!
----------------解决方案--------------------------------------------------------
public class Fanhui{
    public static void main(String args[]) {
        Persons a = new Persons(1,13);
        a.display(); //方法名写错
        System.out.println("ID:" + a.getId());
        System.out.println("Age:" + a.getAge());
        System.out.println("ID:" + a.reworkId(2));//根本没这个方法,何来的调用
        System.out.println("Age:" + a.reworkAge(15)); //同上
    }
}
这是修改后的代码,看下你自己的原代码。

[ 本帖最后由 hz50235247 于 2009-9-18 17:55 编辑 ]
----------------解决方案--------------------------------------------------------
class Persons {
    int id;
    int age;
     
    public Persons (int i, int a) {
        id = i;
        age = a;
    }
     
    public int getId (){
        return id;
    }
     
    public int getAge (){
        return age;
    }
     
    public int reworkId (int i){
        id = i;
        return id;
    }
     
    public int reworkAge (int i){
        age = i;
        return age;
    }
     
    void setId(int id){
        this.id=id;
    }
    void setAge(int age){
        this.age=age;
        }
     
     void display(int id,int age){//display 中的 id和age应用set方法输入
        System.out.println("ID:" + id + "Age:" + age);
    }
}


public class Fanhui{
    public static void main(String args[]){
        Persons b= new Persons(1,13);
        b.display(2001,20);
        System.out.println("ID:" + b.getId() );//get 后面应加括号
        System.out.println("Age:" + b.getAge() );
        System.out.println("ID:" + b.reworkId(2));
        System.out.println("Age:" + b.reworkAge(15));
    }
}



----------------解决方案--------------------------------------------------------
新手学习中
----------------解决方案--------------------------------------------------------
  相关解决方案