学习ing...
建议仔细研究一下jvm specification

解决方案 »

  1.   

    每个对象如果不写构造函数的话,都会被赋予默认的default构造函数,那还会有没有被初始化的对象吗?不会产生这样的错误吧
      

  2.   

    我也来吓说几句。其实我觉得就是把class里的属性服出直而已。因为在建立对象的时候(因为同一个类的对象之间是有差异的)所以一般要在class里加一些方法,让对象的属性服一个它所需要的直。eg:
         class p{
             public i;
             void(int p){i=p;}
         
             public static void main(String[] args){
             
             p a1=new p(7);  //当我们需要i等于7时就这样初始化
             p a2=new p(8);  //等我们需要i等于8时就这样初始化
             }     }
         
      

  3.   

    to teddy_huang(生活多美好,睡觉)
       偶可没有灌水的意思,实事求是嘛!这可是前辈领导人说过的啊!
      

  4.   

    我的理解:
    不管什么样的构造函数都必须遵守如下的规定:
    第一句不是"super();"就是"this();",当然括号中是可以带参数的
    而对象的初始化可以理解为就在super()语句的前后
    构造一个对象的时候,首先要做的不是调用构造函数,而是分配内存
    之后对成员变量进行默认初始化,即:基本类型赋值为0或者false,引用赋值为null
    然后才是调用构造函数,在执行完super()之后,会开始进行成员变量的赋初值一个空的构造函数事实上可以理解为一个只含有这样一条语句"super();"的构造函数,因此,它依然会对成员变量进行默认初始化操作
      

  5.   

    我觉得就初始化问题《java编程思想》讲得挺清楚的,尤其是在类中存在静态类型的情况,看一下对这方面的概念就会了解了。