public class Main {
int a;
void Main() {
a = 10;
}
public static void main(String[] args) {
Main s = new Main();
System.out.println(s.a);
}
}
这个是方法void Main() ,不是构造方法,要调用一下才是10
因为你并没有给a进行赋值,new Main调用的是构造器,而不是你写的void Main()方法,构造器是没有返回修饰符的,应该改为
public Main(){
a=10;
}
构造方法写错了
public Main(){
this.a=10;
}
System.out.println(s.a);打印的是Main类中的第一行int a;这个值,你并没有通过你new的对象s调用Main类中的Main方法,所以最后a还是默认初始值,即0.
可以参考一下这张图