窗体里的控件是要创建实例才能访问的,
而静态方法是无需实例就可以访问的,所以静态方法不能直接访问当前类的实例方法或成员
举个例子,人这个类,属性是高级动物,但是人这个类型没有姓名或性别,只有具体到单个人(实例)才有姓名或性别
静态方法可以直接用类名去调用,静态方法可以直接去调用静态方法,调用非静态方法的时候用对象去调用,静态方法中不能用this或superthis表示当前对象,super表示父类对象,要初始化之后才能使用,在内存的堆中。
static 方法不用初始化,就可以使用。并且在内存的栈中,所以不能调用。
在方法内部定义的叫“局部变量”,而不是静态变量,局部变量不能加static,包括protected, private, public这些也不能加。静态变量是定义在类中,方法体外面的。如果你清楚JVM,应该知道局部变量是保存在栈中的,而静态变量保存于方法区,局部变量出了方法就被栈回收了,而静态变量不会,所以在局部变量前不能加static关键字。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)