2012-03-16 131 views
3

有没有什么方法可以在Java中使用静态方法中的this关键字?我想在我的活动类的静态方法内显示Toast消息。我怎么做?谢谢。如何在java中使用静态方法使用this关键字?

+0

你在静态方法中使用这个关键字的情况是什么? – 2012-03-16 04:40:13

+0

编辑我的问题。我必须在静态栏中显示Toast消息 – Santhosh 2012-03-16 04:41:28

+1

添加您想查看工作的不正确的代码,并让我们看看是否有人知道您想要执行的操作。 – Java42 2012-03-16 04:45:21

回答

5

您可以创建一个静态方法,其中一个输入参数是您需要使用的类。

例如:

public static void showMyTouch(MyActivity act, String message){ 
    Toast.makeText(act, message, Toast.LENGTH_LONG).show(); 
} 
+1

+1用'Activity'或'Context'代替'MyActivity'更有用和一般。 – 2012-03-16 04:47:46

+0

是的,我们可以使用所有东西,这是一个简单的例子,“Toast消息”:D。感谢您的评论:) – NamLe 2012-03-16 04:51:37

3

不,没有什么可以指代的。

0

这指的是实例成员和静态方法将只访问静态变量

+2

答案基本上没有意义。 – EJP 2012-03-16 04:49:40

+0

@ejp我希望哟说你说什么我也编辑了我的答案 – 2012-03-16 08:43:19

+3

现在你的*评论*是没有意义的。你希望我说了我的话吗? – EJP 2012-03-17 05:02:37

0

我相信“这个”表示调用方法的对象。静态方法并不特别绑定到任何特定的对象。相反,他们是类级别的方法。这就是为什么“this”不能用于静态方法。

6

现在呢?

static void thisInStatic(){ 
    new Object(){ 
     Object instance = this; 
    }; 
} 
+4

嗯,'this'指的是你创建的对象,但是是的+1,你确实把'this'放在了一个静态方法里面:) – 2012-03-16 04:57:03

-1

这是指将要创建的对象。你不能从staitc方法访问这样的对象。让你注意它。这里给你一些有用的链接http://mindview.net/Books/TIJ4

+1

您的第一句话只在构造函数中才是真的。在其他有效的地方,它指的是一个已经存在的对象。 -1 – EJP 2013-11-29 23:06:33

相关问题