“不能从静态上下文引用非静态方法”背后的原因是什么?[副本]

初学者最常见的错误是当您试图使用类属性时;静态地;没有创建该类的实例。它会给您留下所提到的错误消息:

您可以使非静态方法成为静态的,也可以使该类的实例使用其属性

这背后的原因是什么?我不关心解决方案,而关心原因。

私有java.util.List<字符串>someMethod(){
/*一些代码*/
返回一些列表;
}
公共静态void main(字符串[]strArgs){
//以下语句导致错误。
java.util.List<String>someList=someMethod();
}

你不能称不存在的东西为。由于您尚未创建对象,因此非静态方法还不存在。静态方法(根据定义)始终存在

发表评论