2012-04-20 3 views
0

Привет Я пытаюсь вызвать нестатический метод с типом возвращаемого булево,Как вызвать этот метод экземпляра

если был статическим там я бы знал, как это сделать, но статический кажется бросить все это прочь, я попытался создать новый экземпляр метода с линией

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

, а также

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

код можно найти здесь ...

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

благодаря

с

+1

Я действительно запутался в вашем вопросе. Возможно, вам захочется найти базовый учебник по java, посвященный статическим/нестатическим методам. http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html Также будет полезен пример ошибок, которые вы видите. – aglassman

ответ

1

Чтобы вызвать статический метод вам код result = ClassName.methodName(parameters);

(Но я не могу, на первый взгляд, видеть любые статические методы в коде, ссылки .)

Loginn вы назвали бы как:

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

Или вы могли бы сделать:

boolean result = new Login().Loginn(parameters); 
+0

Мне очень жаль, я пропустил слово «не» перед статикой ... – Charlie

1

Вы называете статические методы, как так:

Login.Loginn(1,2,3) 

Вам не нужно новое ключевое слово.

Кроме того, вы, вероятно, не хотите назначать ничего Login.Loginn независимо, что может быть ...

0

Основываясь на том, что там, вы, кажется, хотят:

Login login = new Login(); 
login.Loginn(1,2,3); 
1

Там ISN» t статический метод в том коде, который вы опубликовали.

public class Login { 
    ... 

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

Чтобы вызвать этот метод, вы просто назвать имя метода на экземпляре объекта:

Login myLogin = new Login(); 
myLogin.Loginn(username, password, IP); 
+0

Неплохо, я предположил, что я не использовал слово статическое, это не статично ... Большое вам спасибо! – Charlie

1

, если его статический метод с обратным типом Boolean, то попробуйте:

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

Или

boolean result = Login.Loginn(1,2,3); 
0

Вы не являетесь вызывая метод вообще! Вы вызываете конструктор.

Это называется так:

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

Вы не можете назвать это с целыми числами - на 3 параметры String s.

0

В вашем коде Loginn является общедоступным методом, а не статическим.Таким образом, вы должны назвать как:

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

Если преобразовать метод статической (public static Loginn), то вы можете использовать:

Login.Loginn 

Кроме того, обратите внимание на java code conventions для лучшего именования методов.

Смежные вопросы