构造方法问题

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

[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)的方法。

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

你的ClassA中的这一句,应该在一个语句块中。不能直接写

[code="java"]System.out.(1)println(i(2));//这里有两个错误。 [/code]

[code="java"] System.out.(1)println(i(2));//这里有两个错误。[/code]

不能类里面,类里面只有方法和变量。

不知道我理解你的意思没有?

可以在方法中、构造方法中、代码块、静态代码块中,写那个语句:

[code="java"]public class ClassA {
private int i;

    public ClassA(){
       System.out.println("这样写你的语句");
    } 
public ClassA(int i) {
    this.i = i;
}
public void printMe() {
    System.out.println(i);
}


  {
   System.out.println("或者这样写");
 }

}[/code]

[quote]System.out.(1)println(i(2));[/quote]
看来是java新手吧。

看看那这篇文章,了解java类是由什么组成的。

[url=http://verybc.com/a/jiaochengjiaoxue/2009/1124/9175.html]http://verybc.com/a/jiaochengjiaoxue/2009/1124/9175.html[/url]

main方法,也是一个代码块,也可以容纳语句。