Если у меня есть абстрактный класс, правильно ли помещать функцию в одно из полей? или это вызовет проблемы?
пример:
public abstract class A{
private double x = z+w/y;
....
Если у меня есть абстрактный класс, правильно ли помещать функцию в одно из полей? или это вызовет проблемы?
пример:
public abstract class A{
private double x = z+w/y;
....
Ведь в качестве инициализатора вы ставите не функцию, а просто выражение. В его использовании нет ничего плохого.
Однако имейте в виду, что если ваше выражение зависит от других полей, значение зависит от порядка инициализации. (См. этот ответ для получения дополнительной информации и пример)
Короче говоря, это зависит.
Вы можете сделать это с технической точки зрения, да, и если очень ясно, что происходит, и при чтении кода не происходит ничего неожиданного (т. е. он не превращается в очередную головоломку Java), тогда все в порядке. Имейте в виду, однако, что если вы доведете подобные вещи до крайности, это может превратиться в настоящую головоломку (например, это может зависеть от инициализации полей порядка), и тогда этого следует избегать!