int型的实例化应该赋初值的
例如:
private int a = 0;

解决方案 »

  1.   

    如果 int 不赋初值  系统默认 为 0;如果 使用前不赋初值  则 报错!
      

  2.   

    private staticed()是个构造函数,你竟然在这里面引用自己类的一个实例。请问还没构造完,实例哪里来?
    搞的我迷糊了半天,真是的:)
      

  3.   

    个人觉得是在staticed的构造函数里没有对st对象进行初始化, 从debug的结果看,在setNum的时候,st还是null
      

  4.   

    把private staticed()
    {
    System.out.println("Hello world!");
    st.setNum(20);
    }
    中的st.setNum(20)改为setNum(20)就对了。
      

  5.   

    有没有高手愿意讲一讲java中一个对象初始化的过程?我也想听听课。自己不想写代码研究了,越来越懒了。
      

  6.   

    我不是高手但是愿意和你交流交流
    当遇见new 关键字时 就会在堆内存中产生一个对象,同时初始化对象,全部为初始值,创建了对这个对象的引用句柄后就会在栈内存中分配一个变量,然后将引用指向堆内存中的首地址 大概是这样吧
      

  7.   

    dxj1234(Kindly⊙Wolf)说的对
    你在构造函数调用函数本身要创造的实例
    当然会出错
      

  8.   

    to:zeroman20(暖春的风)
    我也是初学者,说得也不一定对
    object ob=new object();
    的过程应该是先创建一个引用,然后调用object构造函数的一个原型
    创建一个对象,然后将引用指向对象。
    初始值取决于调用的构造函数
      

  9.   

    同意 jorneyR(胡言乱语不怕死的菜鸟) 的说法。
    顺便说一下,java的初始化是这样的
    先执行静态初始化,然后是成员变量初始话,最后是构造函数。
    举例如下
    public class a{
        static  {
            //这里的语句先初始化
        }
        private static a  pa  = new a();//这里的初始化和上面的一样级别,看谁先
        private a pb= new a(); //这里的初始比上面的都晚一步进行
        a(){
           //构造函数的初始化,智能排在上面的之后了。
        }}大家要明白,java里面除了具体的对象之外,还有一种对象叫类对象。类对象会在类装载的时候创建。具体的请参考大学里面的教材,比如温凯老师的java语言视频教程。