class X
{
String x1;
String x2;
//...
String x15;
public X (Other o)
{
// initialize x1,x2,...,x15
}
String getx1 () { return x1; } // lot of getters
String getx2 () { return x2; }
//...
String getx15 () { return x15; }
}
Объект class X
инициализируется в конструкторе class Other
;
class Other
{
private X obj;
// Other members
public Other ()
{
obj = new X(this);
//...
}
//...
}
Я хочу как-то избавиться от множества getter
методов в class X
. Я могу просто удалить их и сделать все элементы данных X
в области default
(X
используется только внутри пакета).
Есть ли способ, с помощью которого я могу сделать элементы X obj
неизменяемыми после вызова конструктора Other
? Идея заключается в том, что при использовании get()
методов переменные внутри X
не могут быть изменены.
obj.getx1();
Теперь, если я использую просто obj.x1
, есть вероятность, что он может быть перезаписан (или, по крайней мере, при проверке кода, это будет возражено).
[Примечание: obj
должен быть инициализирован только в конструкторе Other()
].