| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 708 人关注过本帖
标题:大家看看为什么我的方法调用错误
只看楼主 加入收藏
vecomwa
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:63
专家分:138
注 册:2009-9-1
结帖率:90.91%
收藏
 问题点数:0 回复次数:9 
大家看看为什么我的方法调用错误
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 
2009-09-16 17:32
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
先分析你的测试类
     a.dispaly ();// 属于书写错误  你定义的方法是--->display 注意看你的是dispaly
System.out.println("ID:" + a.getId);  //你需要返回的是a对象里的getId这个构造方法  那么基本的格式就错了应该是a.getId()其中括号是方法的一个标志

C#超级群 74862681,欢迎大家的到来!
2009-09-16 17:54
gameohyes
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:53
帖 子:1275
专家分:3629
注 册:2009-3-5
收藏
得分:0 
你还没有理解好面向对象的一些基本概念:
     public (修饰符) class 类名{
            ....//属性
            ....//方法
}

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

}

比如说你的这个就是有参的
public Persons (int i, int a) {
        id = i;
        age = a;
    }

C#超级群 74862681,欢迎大家的到来!
2009-09-16 18:02
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
收藏
得分:0 
对,你少写一个无参构造

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2009-09-16 23:51
ygp_sfec
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:87
专家分:115
注 册:2009-9-8
收藏
得分:0 
        System.out.println("ID:" + a.rework(2));
        System.out.println("Age:" + a.rework(15));
这两句有问题,你并没有定义rework(int)方法,你定义的是reworkID和reworkAge两个方法
2009-09-17 09:59
ygp_sfec
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:87
专家分:115
注 册:2009-9-8
收藏
得分:0 
        System.out.println("ID:" + a.getId);
        System.out.println("Age:" + a.getAge);
另外getID和getAge的调用也不合法,两个方法没有参数不代表后面的括号也可以省略
2009-09-17 10:01
迷你龙
Rank: 2
等 级:论坛游民
帖 子:20
专家分:16
注 册:2009-9-13
收藏
得分:0 
回复 3楼 gameohyes
3楼,他有没有写无参构造函数与他的出错有关系吗?好像没有吧?楼主的错误都是很低级的,建议你以后多多练习!请问楼主是用什么软件来编写的,如果是在MyEclipse写,这些错误就会马上显示出来,比较方便!
2009-09-18 12:51
hz50235247
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-4-8
收藏
得分:0 
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 编辑 ]
2009-09-18 17:52
leikeming0
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-9-19
收藏
得分: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;
    }
     
    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));
    }
}
 
 
2009-09-19 20:17
陕西少爷
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-23
收藏
得分:0 
新手学习中
2009-09-23 14:32
快速回复:大家看看为什么我的方法调用错误
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031961 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved