qjbagu 2010-05-11 16:33
浏览 254
已采纳

构造方法问题

类ClassA:
[code="java"]
public class ClassA {
private int i;
public ClassA(int i) {
this.i = i;
}
public void printMe() {
System.out.println(i);
}
System.out.(1)println(i(2));//这里有两个错误。
}
[/code]
类ClassB:
[code="java"]
public class ClassB {
public static void main(String[] args) {
ClassA ca = new ClassA(9);
ca.printMe();
}
}
[/code]
这里有两个错误,如上面所示:
1:标记上有语法错误,错误放置了构造。
2:标记"i"上有语法错误,在此标记之后应为VariableDeclaratorId。
为什么会出现这两个错误呢,为什么参数传递过去后,会出现这种错误。

  • 写回答

6条回答 默认 最新

  • 拽拽的初行者 2010-05-11 16:57
    关注

    [quote]为什么只能写在方法中、构造方法中、代码块、静态代码块中使用i[/quote]

    纠正几点:

    1、在静态代码块中,不能使用实例变量(你的ClassA中的i是实例变量)

    2、任何语句,处理声明语句,都必须在一个方法块中。这是语法规定

    [quote]System.out.(1)println(i(2));这句也无法执行的原因啊。为什么不能那样写啊?
    [/quote]

    这么古怪的写法.....

    System类中有个out对象。out对象有个println方法。

    System.out.(1)println() 的写法,不合语法!

    i(2) 的写法,更不合语法。 因为ClassA中没有 i(int param)的方法。

    建议,看看基础语法。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?