Member 13064243 Ответов: 2

Вопрос о методах java


Следующий оператор

public double getValue(double new_value)
{

getValue = 5+8;

return getValue
}

<pre>



в классе driver записывается следующий код


s. getValue(0);







Сработает это или нет?

Что я уже пробовал:

Я просто запутался в правилах для этого

[no name]

"Сработает это или нет?" - почему бы вам не попробовать и не выяснить это самому?

Member 13064243

Я так и сделал но ничего не происходит так что я не знаю

[no name]

Как, собственно, могло произойти "ничего"?

2 Ответов

Рейтинг:
2

CPallini

Что ж, он скомпилируется и запустится. Попробуйте, например:

class Foo
{
  double getValue;

  public double getValue(double new_value)
  {

    getValue = 5+8;

    return getValue;
  }

  public static void  main(String args[])
  {
    Foo foo = new Foo();
    double g = foo.getValue(5);
    System.out.format("getValue is %g\n", g);
  }

}

Однако, такой код был бы кошмар для бедного сопровождающего: getValue само название предполагает метод "геттера", то есть метод, возвращающий значение без изменения состояния объекта. На самом деле его тело изменяет состояние объекта.
Более того, пройденное newValue параметр не имеет никакого эффекта в теле метода.


Рейтинг:
0

Richard MacCutchan

Видеть Учебные Пособия По Java™ [^].