class a
{
   StuModel sm;
    
    {sm.  }//在这大括号内 用eclipse   sm可以点出来好多的方法           //而在大括号外面  sm却点不出任何的方法( StuModel 是一个类 没有实例化这个类,sm肯定点不出来方法 ,
           //可不解的就是  在大括号的内面 sm怎么能               
           //点出方法)}

解决方案 »

  1.   

    StuModel 是静态的类吗?你说的括号内和括号外,就是一个作用域
    括号外的不能访问括号内的
      

  2.   

    这个不是问题的关键,是和具体IDE的处理方式相关的,关键是你的对象还没初始化就想使用吗?
      

  3.   

    跟实例化没有关系。不实例化也会有提示的,因为IDE已经知道它的类型了。
    所有除去变量定义之外的有逻辑的语句都是写在方法体里的啦。你直接在大括号外面写sm,那是什么东西呢?肯定不能直接写在外面的,所以也就不会有提示啦。
      

  4.   

    所有除去变量定义之外的有逻辑的语句都是写在方法体里的啦。
                         各位大虾   java里面还有这种规定的嘛?????????????????
                            
      

  5.   

    java 一个类的引用 不用实例化  就可以引用这个类的方法嘛???????????????????
      

  6.   


    真正运行起来时肯定是要实例化后才可以用它的方法。但是你现在只是编码而已,连编译都没进行到。IDE在你定义了一个引用而没有实例化它的时候给你个提示,有什么不妥呢?
      

  7.   


    除了写在方法里面的语句,还可以有static语句块,它在类第一次实例化时执行且只被执行一次。如:
    class a {  StuModel sm; 
       
      static {
        System.out.println("初始化sm.");
        sm = new StuModel ();
      }
    }