类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。
为什么会出现这两个错误呢,为什么参数传递过去后,会出现这种错误。

构造方法问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
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)的方法。
建议,看看基础语法。。。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报