本帖最后由 石好强 于 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(),但是系统提示不会提示是那个位置,我在提示位置对照半天没找出错误来。谢谢诸位热心马友。也借此错误让新马友看下,这种错误排查不要迷信系统提示,提示不是万能的。
|