-6

我想知道我是否可以使用这个。从静态方法中调用非静态方法。我知道我通常需要一个对象来从静态方法中引用非静态方法。谢谢

4

4 回答 4

3

不。在静态方法中,this没有意义,不会编译。Java 语言规范的第8.4.3.2 节涵盖了这一点,尽管它应该相当直观——this指的是什么?

可以从静态方法调用非静态方法,但不能通过this. 您必须有一个实例来调用它们。

于 2013-09-27T20:44:12.010 回答
0

您不能在静态方法中使用“this”关键字。

于 2013-09-27T20:46:25.403 回答
0

答案是不。静态方法不与类的实例相关联,因此它不能访问仅当存在类的实例时才有意义的同一类的非静态变量或方法

于 2013-09-27T20:50:41.090 回答
0

不使用this,但如果你真的想,如果类被命名MyClass,你可以做

new MyClass().someNonStaticMethod() 

但是,如果您要调用这样的实例方法,它们可能无论如何都应该是静态的。

于 2013-09-27T20:57:07.570 回答