Я использую пакет, который имеет нестатический вызов метода. Это не позволит мне вызвать этот метод из статического контекста. Я не могу изменить нестатический метод, как я могу назвать этот метод?Статический контекст Java
ответ
Создать объект из этого класса и вызвать метод на объекте?
import com.acme.myclass;
...
MyClass obj = new MyClass();
obj.nonStaticMethod();
Если пакет вы используете, имеет какой-либо документации, не забудьте посмотреть через него, чтобы увидеть, как вы должны использовать этот класс и его не-статический метод. Вы также можете прочитать больше о статических и нестатических объектно-ориентированных программах в целом, чтобы лучше понять различия.
Чтобы вызвать нестатический метод, вы должны вызвать метод в экземпляре объекта.
Учитывая следующий класс:
public class MyClass {
public void nonStaticMethod();
}
Вы бы вызвать метод следующим образом:
new MyClass().nonStaticMethod();
Или, если вам нужно вызвать этот метод более чем один раз, вы можете сохранить его в объект.
MyClass instance = new MyClass();
instance.nonStaticMethod();
...
instance.nonStaticMethod();
Статические методы не нужно создавать, а методы экземпляра - внутри класса экземпляра.
Чтобы получить метод экземпляра, вам сначала понадобится экземпляр его класса, используя ключевое слово new
. Затем вы можете получить доступ к методам экземпляра этого класса.
Этот метод относится к классу.
Итак, что вам нужно сделать, это создать экземпляр этого класса (скорее всего, с новым оператором), а затем использовать его:
package a;
class A {
public void theMethod(){
}
}
.....
package b;
import a.A;
class Main {
public static void main(String [] args) {
A a = new A();
a.theMethod();
}
}
Нестатические (например) не может быть вызвана из статического контекст. Другой способ возможен.
Вы можете создать объект класса всякий раз, когда вам нужно вызвать нестатический метод, с чем-то вроде:
new BadlyWrittenClass().BadlyWrittenMethod();
Однако, если вы собираетесь делать это много, это может становятся неэффективными, чтобы создавать и уничтожать объекты таким образом.
Лучше всего создать экземпляр объекта, например, в вашем собственном конструкторе класса, и просто использовать его в любое время, когда вам нужно вызвать метод. Если он не требует нового инициализированного объекта каждый раз, это может быть более эффективным.
Но вы также можете иметь в виду, что может быть причина , почему метод не является статичным (несмотря на то, что я не так тонкий jab в названии класса и метода выше). Убедитесь, что он не требует определенного состояния, которое вы не настраиваете при создании нового экземпляра. Другими словами, не слепо старайтесь делать это без понимания.
- 1. Внутренний класс и статический контекст
- 2. Где мой статический контекст?
- 3. Android - статический контекст
- 4. Regex.Replace и статический контекст?
- 5. Статический контекст в определении перечисления
- 6. Контекст фреймворка Entity как статический
- 7. Когда вы отпускаете статический Контекст
- 8. FindViewById не может ссылаться на статический контекст
- 9. нестационарная переменная, на которую ссылается статический контекст
- 10. Нестационарная переменная не может ссылаться на статический контекст java
- 11. Java, нестатический не может быть ссылкой на статический контекст
- 12. Нестатический метод не может ссылаться на статический контекст (Java)
- 13. Нестатический метод не может ссылаться на статический контекст в Java?
- 14. Нестационарная переменная не может ссылаться на статический контекст java
- 15. Java: принудительный статический метод из суперкласса (контекст Mongo/Morphia)
- 16. Android не может ссылаться на статический контекст
- 17. JAVA- JFrame-не статический метод не может ссылаться на статический контекст
- 18. PHP статический контекст относится к неправильному классу
- 19. Нестационарный метод getTag, ссылающийся на статический контекст
- 20. Hadoop mapreduce настраиваемый настраиваемый статический контекст
- 21. Статический контекст базы данных Uniq с iis
- 22. Статический контекст всегда один в C#?
- 23. Android Studio - ссылка getAssets() как статический контекст
- 24. Нестатический метод не может ссылаться на статический контекст
- 25. Нестационарная переменная не может ссылаться на статический контекст?
- 26. Нестатическая переменная favPic не может ссылаться на статический контекст
- 27. «Нестатические переменные степени не могут ссылаться на статический контекст»?
- 28. Android: нестатический метод не может ссылаться на статический контекст. Смущенный?
- 29. Нестатическая переменная bankAcc не может ссылаться на статический контекст
- 30. Нестатическая переменная pRef не может ссылаться на статический контекст
Сколько Java вы узнали? Похоже, вам будет полезно прочитать некоторые базовые учебники по java. – jjnguy
http://download.oracle.com/javase/tutorial/ – jjnguy