无法从静态上下文引用非静态方法

时间:2010-05-26 08:39:40

标签: android httpclient

我在这里修改源代码:http://thinkandroid.wordpress.com/2009/12/30/getting-response-body-of-httpresponse/

我收到此错误:无法从静态上下文引用非静态方法getContentCharSet(org.apache.http.HttpEntity)         String charset = getContentCharSet(entity);

此错误是第二个方框中的第13行。

有什么想法吗?我一直在努力解决这个问题: - (

5 个答案:

答案 0 :(得分:3)

如果不创建非实例,则无法调用非静态函数。尽量不要养成将所有东西都转换为静态的习惯,而只是创建一个类的实例,然后调用该方法。

答案 1 :(得分:1)

你是一个静态方法,你试图调用实例方法。但是为了调用实例方法,你必须使用一个对象来调用它。你不能只是在没有对象的情况下调用实例方法。

如前所述,你可以使另一个方法也是静态的,但是如果这是不合适的,你必须使用定义了这个方法的对象的实例来进行该调用。

答案 2 :(得分:1)

是的,要么所有方法都是静态的,要么是相互调用。

答案 3 :(得分:1)

通常,您将实例化该类,然后在该实例上调用该方法。

这个的情况下,看起来缺少静态只需要一个拼写错误。

答案 4 :(得分:-1)

将getContentCharSet(org.apache.http.HttpEntity)设置为“static”; - )