0

您好我正在尝试调用返回类型为布尔值的非静态方法,

如果那里有一个静态,我会知道该怎么做,但是静态似乎把它全部扔掉了,我试图用该行创建一个新的方法实例

    Loginn auth = new Loginn(1,2,3)

并且

   Login.Loginn auth = new Login.Loginn(1,2,3)

代码可以在这里找到...

http://www.pastebin.com/qwAtR7u0/

谢谢

C

4

7 回答 7

1

要调用您编写的静态方法result = ClassName.methodName(parameters);

(但乍一看,我无法在您引用的代码中看到任何静态方法。)

Loginn 你会调用:

Login instance = new Login();
boolean result = instance.Loginn(parameters);

或者你可以这样做:

boolean result = new Login().Loginn(parameters);
于 2012-04-20T16:05:43.773 回答
1

您可以像这样调用静态方法:

Login.Loginn(1,2,3)

您不需要 new 关键字。

此外,您可能不想为 Login.Loginn 分配任何内容......

于 2012-04-20T16:06:21.803 回答
1

您发布的代码中没有静态方法。

public class Login {
    ...

    public boolean Loginn(String UserName, String PassWord, String IP) throws UnknownHostException, IOException { ... }
}

要调用该方法,您只需调用对象实例上的方法名称:

Login myLogin = new Login();
myLogin.Loginn( username, password, IP);
于 2012-04-20T16:09:22.663 回答
1

如果它是返回类型为 Boolean 的静态方法,请尝试:

if(Login.Loginn(1,2,3))
{
//your code here
}
else
{
//some code
}

或者

boolean result = Login.Loginn(1,2,3);
于 2012-04-20T16:10:06.640 回答
0

你根本没有调用方法!您正在调用构造函数。

它是这样称呼的:

Loginn auth = new Loginn("username", "password", "IP");

您不能用整数调用它 - 3 个参数是Strings。

于 2012-04-20T16:12:41.070 回答
0

在您的代码Loginn中是一个公共方法,而不是静态的。所以你需要像这样打电话:

Login login = new Login();
login.Loginn("user","pass","ip");

如果您将方法转换为静态(public static Loginn),那么您可以使用:

Login.Loginn

此外,请查看java 代码约定以更好地命名您的方法。

于 2012-04-20T16:14:13.340 回答
0

根据那里的情况,您似乎想要:

Login login = new Login();
login.Loginn(1,2,3);
于 2012-04-20T16:08:58.700 回答