public MyBigObjectOfStorage getDB() {
return m_oDB;
}
Как вы говорите, это правильно. Он вернет копию ссылки , которая находится между копией и ссылкой.
Фактический экземпляр объекта, возвращаемый getDB (), является тем же объектом, на который ссылается m_oDB. Однако вы не можете изменить ссылку, возвращаемую методом getDB (), чтобы она указывала на другой объект, и фактически заставить локальный закрытый m_oDB указывать на новый объект. m_oDB по-прежнему будет указывать на объект, которым он уже был.
Подробнее см. http://www.javaworld.com/javaworld/javaqa/2000-05/03-qa-0526-pass.html.
Несмотря на то, что, просматривая ваш код, вы никогда не устанавливаете m_oDB, поэтому getDB () всегда будет возвращать ноль.