функции нормально использовать в поле класса (Java) - PullRequest
0 голосов
/ 20 октября 2011

Если у меня есть абстрактный класс, это правильная форма, чтобы поместить функцию в одно из полей? или это вызовет проблемы?

пример:

public abstract class A{

   private double x = z+w/y;

....

Ответы [ 2 ]

3 голосов
/ 20 октября 2011

Действительно, вы ставите не функцию, а выражение как инициализатор. В этом нет ничего плохого.

Однако помните, что если ваше выражение зависит от других полей, значение зависит от порядка инициализации. (См. этот ответ для более подробной информации и примера)

0 голосов
/ 20 октября 2011

Короче, это зависит.

Вы можете сделать это с технической точки зрения, да - и если очень ясно, что происходит, и ничего неожиданного не происходит при чтении кода (то есть он не превращается в следующую головоломку Java), тогда это нормально. Имейте в виду, однако, что если вы принимаете подобные вещи до крайности, они могут превратиться в настоящую головоломку (это может зависеть, например, от того, в каком порядке поля инициализируются), и именно этого следует избегать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...