У меня есть набор классов A1
для An
такой формы:применять метод можно назвать Java
public class A1{
//constructor method
public A1(...){...}
//init method
public void init(){...}
//some class specific method
...
}
Я хотел бы убедиться, что метод init
всегда вызывается после инициализации класса (возможно, ошибка компиляции или какое-то предупреждение, если не используется).
Что-то вроде:
A1 a1=new A1(...);
//some other code that may relate to a1 (e.g. changing default global values)
a1.init(); // <-- if not used some bad things happens.
Единственное ограничение:
, что я не могу использовать метод init()
в конструкторе
Так есть ли способ сделать это? (за исключением вызова init()
в конструкторе, конечно).
В целом нецелесообразно применять конкретный порядок вызовов методов в объектах (хотя иногда это неизбежно). Предпочтительным способом является использование строителей или состава в этих случаях. – biziclop