вторник, 14 февраля 2017 г.

Java beginner error: non-static method ... cannot be referenced from a static context

Есть класс, в нем главный метод и второй, который вызывается с параметрами в главном.
class A {
 public static void main(String args[]) {
  m2(a)
 }
 public int m2(boolean b) {
  ...
 }
}
Ошибка возникла при непонимании отсутствии в описании второго метода ключевого слова static (т.е. нужно было public static int m2(boolean b) ).
Static означает, что метод принадлежит классу, а не объекту классу, и вызвать его можно тогда напрямую m2(a). При отсутствии static, нужно было бы создать объект класса и вызывать от него, что-то вроде:
A obj = new A();
obj.m2(a);

Комментариев нет:

Отправить комментарий