class a
{
StuModel sm;
{sm. }//在这大括号内 用eclipse sm可以点出来好多的方法 //而在大括号外面 sm却点不出任何的方法( StuModel 是一个类 没有实例化这个类,sm肯定点不出来方法 ,
//可不解的就是 在大括号的内面 sm怎么能
//点出方法)}
{
StuModel sm;
{sm. }//在这大括号内 用eclipse sm可以点出来好多的方法 //而在大括号外面 sm却点不出任何的方法( StuModel 是一个类 没有实例化这个类,sm肯定点不出来方法 ,
//可不解的就是 在大括号的内面 sm怎么能
//点出方法)}
括号外的不能访问括号内的
所有除去变量定义之外的有逻辑的语句都是写在方法体里的啦。你直接在大括号外面写sm,那是什么东西呢?肯定不能直接写在外面的,所以也就不会有提示啦。
各位大虾 java里面还有这种规定的嘛?????????????????
真正运行起来时肯定是要实例化后才可以用它的方法。但是你现在只是编码而已,连编译都没进行到。IDE在你定义了一个引用而没有实例化它的时候给你个提示,有什么不妥呢?
除了写在方法里面的语句,还可以有static语句块,它在类第一次实例化时执行且只被执行一次。如:
class a { StuModel sm;
static {
System.out.println("初始化sm.");
sm = new StuModel ();
}
}