我想知道我是否可以使用它。从静态方法中调用非静态方法。我知道我需要一个对象来引用静态方法中的非静态方法。感谢
答案 0 :(得分:3)
没有。在静态方法中,this
没有意义,也不会编译。这由Java语言规范的§8.4.3.2涵盖,虽然它应该相当直观 - this
会引用什么?
你可以从静态方法中调用非静态方法,而不是通过this
。你必须有一个实例来调用它们。
答案 1 :(得分:0)
您不能在静态方法中使用“this”关键字。
答案 2 :(得分:0)
答案是否定的。静态方法与类的实例无关,因此只有存在类的实例时,它才能访问具有含义的同一类的非静态变量或方法
答案 3 :(得分:0)
不使用this
,但如果您真的想要,如果该类名为MyClass
,则可以
new MyClass().someNonStaticMethod()
但是如果你正在调用这样的实例方法,那么它们应该是静态的。