黑马程序员技术交流社区
标题:
【从一个错误认识到:错误提示不一定准确】构造函数一节
[打印本页]
作者:
石好强
时间:
2012-3-31 12:46
标题:
【从一个错误认识到:错误提示不一定准确】构造函数一节
本帖最后由 石好强 于 2012-3-31 13:19 编辑
class Person
{
//Person()----加错位置!!!
//{
//Person(){}; -->类中没有构造函数时,系统会默认加入这个空构造函数。
private String name;
private int age;
Person()
{
System.out.println("A:name="+name+",,age"+age);
}
Person(String n)
{
name = n;
System.out.println("A:name="+name+",,age"+age);
}
Person(String n, int a)
{
name = n;
age = a;
System.out.println("A:name="+name+",,age"+age);
}
}
}
class PersonDemo2
{
public static void main(String[] args)
{
Person p1 = new Person();
Person p2 = new Person(“xiaogang”);
Person p3 = new Person(“xiaoming”,23);
}
}
复制代码
构造函数这一块,我按视频里毕老师的思路写了下代码。但是报错,对着视频瞪了半天没找出来错误,请大家帮忙找下哪出问题了额,和视频里的几乎一样啊。
错误提示如下:
D:\java1203\day05>javac PersonDemo2.java
PersonDemo2.java:25: 非法的表达式开始
private String name;
^
PersonDemo2.java:26: 非法的表达式开始
private int age;
^
PersonDemo2.java:28: 需要 ';'
Person()
^
PersonDemo2.java:33: 需要 ')'
Person(String n)
^
PersonDemo2.java:33: 非法的表达式开始
Person(String n)
^
PersonDemo2.java:33: 需要 ';'
Person(String n)
^
PersonDemo2.java:50: 需要为 class、interface 或 enum
}
^
7 错误
通过我的这个错误,受到启示:java中错误提示不是百分百定位准确的,我这个错误出在上面外围多了一个Person(),但是系统提示不会提示是那个位置,我在提示位置对照半天没找出错误来。谢谢诸位热心马友。也借此错误让新马友看下,这种错误排查不要迷信系统提示,提示不是万能的。
作者:
izwj
时间:
2012-3-31 12:58
请你仔细看看,括号加错了,而且参数要加引号“xiaogang”。
作者:
秦岩
时间:
2012-3-31 13:00
class Person
{
private String name;
private int age;
Person()
{
System.out.println("A:name="+name+",,age"+age);
}
Person(String n)
{
name = n;
System.out.println("A:name="+name+",,age"+age);
}
Person(String n, int a)
{
name = n;
age = a;
System.out.println("A:name="+name+",,age"+age);
}
}
class PersonDemo2
{
public static void main(String[] args)
{
Person p1 = new Person();
Person p2 = new Person("xiaogang");
Person p3 = new Person("xiaoming",23);
}
}
复制代码
这才是正确的代码。。 你对比下~ 就明白了~ 不明白的地方再回复我~
作者:
石好强
时间:
2012-3-31 13:13
lyqinyan 发表于 2012-3-31 13:00
这才是正确的代码。。 你对比下~ 就明白了~ 不明白的地方再回复我~
谢谢,找到错误了。多了一个 Person() 放外面了。自己的代码,自己检查错误真不好找,看了好几遍没看出来,光按提示位置找了,没想到错误出在外边。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2