静态方法里面不能加winform界面控件,怎么解决

静态方法里面不能加winform界面控件,怎么解决,第1张

你是问静态方法,为什么无法访问窗体里的控件吗?

窗体里的控件是要创建实例才能访问的,

而静态方法是无需实例就可以访问的,所以静态方法不能直接访问当前类的实例方法或成员

举个例子,人这个类,属性是高级动物,但是人这个类型没有姓名或性别,只有具体到单个人(实例)才有姓名或性别

静态方法可以直接用类名去调用,静态方法可以直接去调用静态方法,调用非静态方法的时候用对象去调用,静态方法中不能用this或super

this表示当前对象,super表示父类对象,要初始化之后才能使用,在内存的堆中。

static 方法不用初始化,就可以使用。并且在内存的栈中,所以不能调用。

在方法内部定义的叫“局部变量”,而不是静态变量,局部变量不能加static,包括protected, private, public这些也不能加。静态变量是定义在类中,方法体外面的。

如果你清楚JVM,应该知道局部变量是保存在栈中的,而静态变量保存于方法区,局部变量出了方法就被栈回收了,而静态变量不会,所以在局部变量前不能加static关键字。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11586685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存