public class Example{
private int i=giveMe();
private int j=10;
private int giveMe(){
return j;
}
public static void main(String []args){
System.out.println((new Example()).i);
}
}
请问程序的运行过程

解决方案 »

  1.   

    输也结果为0
    运行过程:初始化i(通过方法giveMe()),初化为j
    初化为i时,还没有给j初始化,所以结果为0
      

  2.   

    1.new Example()
    2.giveme()
    3.int i=0
    4.int j=10
    5.println i
      

  3.   

    楼主,你的程序可以运行??
    应该少了创建对象吧?
    Example a=new Example()
    创建对象后调用giveme()
    i此时被初始化为0
    j初始为10
    然后打印i
      

  4.   

    new Example()时i和j都是int型所以初始化为0.
    之后给i赋值时j还没有赋值.
      

  5.   

    也就是说创建一个对象时先用默认值初始化成员变量 然后才执行class里面的变量赋值?