黑马程序员技术交流社区

标题: 对String疑惑 [打印本页]

作者: 刘孝波    时间: 2011-12-10 10:58
标题: 对String疑惑
本帖最后由 涧澜 于 2011-12-11 13:16 编辑

Person(int age,String name,String occupation)
{
this(name,age);//对occupation的定义,是否是用String?
this.occupation=occupation;//为什么到这儿this.occupation报错?
System.out.println(name+"..." +age+"..."+occupation);
}
作者: 小春同学    时间: 2011-12-10 11:42
occupation职业,肯定可以用String呀,还有怎么会报错呢?错误提示是什么?贴上来
作者: 周胜    时间: 2011-12-10 11:46
代码全粘上来。。这样看不出会报错。。除非你前面没定义occupation这个变量。。
作者: 侯伟浩    时间: 2011-12-10 11:47
你定义全局变量了吗?(private String occupation)
作者: 方书堂    时间: 2011-12-10 12:20
你有没有在前面定义了String occupation这个类里面的成员变量啊,要是没有的话,你这个this occupation 就找不到了啊
作者: 王青山    时间: 2011-12-10 15:32
保持关注。。
作者: 刘孝波    时间: 2011-12-10 16:12
侯伟浩 发表于 2011-12-10 11:47
你定义全局变量了吗?(private String occupation)

谢谢你的关注。我定义了,将在下边贴过来。
作者: 刘孝波    时间: 2011-12-10 16:19
class Person
{
private int age;
private String name;
private String occupation;
Person(String name)
{
this.name=name;
System.out.println(name);
}
Person(String name,int age)
{
this.name=name;
this.age=age;
System.out.println(name+"..."+gae);
}
Person(int age,String name,String occupation)
{
this(name);
this(age);
this.occupation=occupation;
System.out.println(name+"..." +age+"..."+occupation);
public void show()
{
this.occupation=occupation;//这个时候前边个occupation就报错了
}
}
作者: 侯伟浩    时间: 2011-12-10 16:52
你认为构造方法里面可以再写个方法吗?
Person(int age,String name,String occupation)
{
this(name);
this(age);
this.occupation=occupation;
System.out.println(name+"..." +age+"..."+occupation);
public void show()
{
this.occupation=occupation;//这个时候前边个occupation就报错了
}
}
作者: 刘博    时间: 2011-12-10 17:12
楼上是正解{:soso_e178:}
作者: 王冀    时间: 2011-12-10 17:42
本帖最后由 王冀 于 2011-12-10 17:45 编辑

不知道你的代码书写格式是不是发上来之后才变成这样的,
class Person
{
        private int age;
        private String name;
        private String occupation;
        Person(String name)
        {
                this.name=name;
                System.out.println(name);
        }
        Person(String name,int age)
        {
                this.name=name;
                this.age=age;
                System.out.println(name+"..."+gae);
        }
        Person(int age,String name,String occupation)
        {
                this(name);
                this(age);
                this.occupation=occupation;
                System.out.println(name+"..." +age+"..."+occupation);
                public void show()//很明显这个方法写在了Person(,,)内
                {
                        this.occupation=occupation;//这个时候前边个occupation就报错了
                }
        }
作者: 李明    时间: 2011-12-10 23:21
class Person
{
private int age;
private String name;
private String occupation;
Person(String name)
{
this.name=name;
System.out.println(name);
}
Person(String name,int age)
{
this.name=name;
this.age=age;
System.out.println(name+"..."+age);
}
Person(int age,String name,String occupation)
{
this(name);
this(age);//没有定义这个构造函数,所以会报错
this.occupation=occupation;
System.out.println(name+"..." +age+"..."+occupation);//需要一个}来结束这个构造函数。
public void show()
{
  this.occupation=occupation;//函数定义在了构造函数中了,所以会出错。
}
}
作者: 杨玉揆    时间: 2011-12-11 09:21
哥们 最好把你得代码全部贴上来
作者: 刘孝波    时间: 2011-12-11 13:12
杨玉揆 发表于 2011-12-11 09:21
哥们 最好把你得代码全部贴上来

谢谢你的关注。因为有你的参与,问题才已经得到了解决。
作者: 刘孝波    时间: 2011-12-11 13:12
李明 发表于 2011-12-10 23:21
class Person
{
private int age;

谢谢你的关注。因为有你的参与,问题才已经得到了解决。
作者: 刘孝波    时间: 2011-12-11 13:13
杨玉揆 发表于 2011-12-11 09:21
哥们 最好把你得代码全部贴上来

谢谢你的关注。因为有你的参与,问题才已经得到了解决。
作者: 刘孝波    时间: 2011-12-11 13:14
李明 发表于 2011-12-10 23:21
class Person
{
private int age;

谢谢你的关注。因为有你的参与,问题才已经得到了解决。
作者: 刘孝波    时间: 2011-12-11 13:14
侯伟浩 发表于 2011-12-10 16:52
你认为构造方法里面可以再写个方法吗?
Person(int age,String name,String occupation)
{

谢谢你的关注。因为有你的参与,问题才已经得到了解决。
作者: 侯伟浩    时间: 2011-12-11 16:46
我是第一个发现问题所在的,不给我加分?给其他人加分?




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