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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘永菲 中级黑马   /  2012-4-17 14:15  /  3213 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class person{
private String name;
private int age;
public  Person(){
    this("LXH",30);
      system.out.println("一个新同学");
        }
public Person(string name,int age){
    this(name);
    this.age=age;
}
public String gerInfo(){
    renturn''姓名''+name+'',年龄:''+age;
}
   }

结果
ThisDemo05.java:5:rencursive constuctor invocation
        piblic  Person(){
               ^
     1 error

13 个回复

倒序浏览
我昏,错误好多哦,
说几个主要的吧:
1.this(name);这个调用会报错,因为没有含一个参数的构造函数
2.system.out.println  错了  应该是System.out.println("一个新同学");
3.public  Person(){}构造函数请与类名相一致。

直接把改好的代码给你吧:
  1. public class Person {

  2.         private String name;
  3.         private int age;
  4.         public  Person(){
  5.             this("LXH",30);
  6.                 System.out.println("一个新同学");
  7.               //system.out.println("一个新同学");
  8.                 }
  9.         public Person(String name,int age){
  10.             //this(name);
  11.             this.age=age;
  12.         }
  13.         public String gerInfo(){
  14.             return "姓名"+name+",年龄"+age;
  15.         }
  16. }
复制代码
回复 使用道具 举报
你的错误主要是因为java与其他编程语言的一个区别就是java严格区分大小写,你的构造函数名全是大写而类名是小写所以就相当于没有构造函数,另外你没有person(String str)的构造函数但你却调用了它,总之主要错误还是大小写的问题。
回复 使用道具 举报
本帖最后由 申振华 于 2012-4-17 15:35 编辑
  1. //class person{ 类名要大写
  2. class Person{
  3.         private String name;
  4.         private int age;
  5.         public  Person(){
  6.             this("LXH",30);
  7. //              system.out.println("一个新同学");   //system首字母写错 System也是个类,所以类名首字母要大写
  8.               System.out.println("一个新同学");
  9.         }
  10. //        public Person(string name,int age){     //string也是个类,首字母要大写
  11.         public Person(String name,int age){
  12. //            this(name);  想必应该是赋值操作吧
  13.             this.name=name;
  14.             this.age=age;
  15.         }
  16.         public String gerInfo(){
  17. //            renturn''姓名''+name+'',年龄:''+age;   //  renturn写错了 ,字符串用的双引号"",不是单引号''
  18.             return "姓名"+name+",年龄:"+age;
  19.         }
  20. }
复制代码
回复 使用道具 举报
曾虓 发表于 2012-4-17 14:26
我昏,错误好多哦,
说几个主要的吧:
1.this(name);这个调用会报错,因为没有含一个参数的构造函数

记事本打代码好辛苦,估计第一个提出来的是主要错误,其他的次要的。技术这么强,以后直接问你吧
回复 使用道具 举报
刘永菲 发表于 2012-4-17 16:09
记事本打代码好辛苦,估计第一个提出来的是主要错误,其他的次要的。技术这么强,以后直接问你吧
...

我水平很差的,不过你用记事本编辑才牛呢,我都没用过呢,一直用eclpse的代码提示功能,我果然弱爆了。
回复 使用道具 举报
不要有问题就问啊,这种问题自己多看看基础就能解决的。看别人修改后的代码用处不大。

给你个建议吧,楼主,如果你写的代码出了问题实在找不着,就删了重新打一遍,再错再重新打.......

多思考比多问强。
回复 使用道具 举报
aied31 注册黑马 2012-4-17 17:39:05
8#
有问题,还是先自己思考的比较好
回复 使用道具 举报
伊文龙 发表于 2012-4-17 16:54
不要有问题就问啊,这种问题自己多看看基础就能解决的。看别人修改后的代码用处不大。

给你个建议吧,楼主 ...

         这位兄台的建议我受教了,但是,有一些想法不吐不快。古语“听君一席话,胜读十年书”这句话是什么意思?在学习的过程中,自学最为辛苦了,毅力重要不说,就是任何小的问题都是拦路虎。三人行,必有我师焉。孔子尚且‘不耻下问’,何况我辈?
     问题很喜欢找到对的人,学做对的事。黑马之前说的很明白,看完他的视频,只要人品不差,找到4k的工作问题不大,那为何我们都要坚持奋斗进入黑马学习呢?不仅仅是为了来听老师讲课吧,更多的是为了融入这浓烈的学习氛围,在四个月学习当中蜕变成长吧?这个代码打完出了问题后,我没想太多就把它贴了出来,后来申振华同学说的最为贴近,我一反思就明白过来,如果等自己想明白,那可能就是两三天后了,“当局者迷,旁观者清”。再多说一句,坛子里的朋友看到这个帖子,恐怕以后也会绕开这个坑了,因为我犯的错大家都看到了,知道了,不会再错了。所以我提倡有问题就解决,自己想不如找个明白人,这不就是毕老师的买电脑案例么?

评分

参与人数 1技术分 +1 收起 理由
职业规划-刘倩老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
刘永菲 发表于 2012-4-17 17:47
这位兄台的建议我受教了,但是,有一些想法不吐不快。古语“听君一席话,胜读十年书”这句话是 ...

呵呵.......
回复 使用道具 举报
1.首先要把你在中文状态下输入的“;”,全部改成在英文状态下的“;”。
2.把public Person(string name,int age){ this(name); this.age=age;}中的this(name);改成this.name = name;
3.把最后面的return语句写成return ("姓名" + name + ",年龄:" + age);。
4.把system.out.println("一个新同学");里面的system改成System。
5.把小写的string写成String。
6.留下改好的代码给你参考public class person {
        private String name;
        private int age;

        public person() {
                this("LXH", 30);
                System.out.println("一个新同学");// 分号
        }

        public person(String name, int age) {
                this.name = name;
                this.age = age;
        }

        public String gerInfo() {
                return ("姓名" + name + ",年龄:" + age);
        }
}


回复 使用道具 举报
路过,兄弟你好像public都打错了。。
还有,其实你可以不用记事本啊。记事本确实有点悲剧。就用老毕用的那个。EditPlus中文版。百度一下就成。

        piblic  Person()。。。
好吧,加油~~顶死你
回复 使用道具 举报
注意细节,很多小问题可能也是我们初学时都犯过的,解决了就不要再犯第二次,这就是进步
回复 使用道具 举报
看看...............
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马