У меня есть классный суперкласс, который выглядит так:
class AGroovyClass {
private String str = "hello"
void printString(int nTimes) {
nTimes.times { println str }
}
}
и подкласс
class AGroovySubclass extends AGroovyClass {
// some other subclass methods
}
Мой клиент звонит по коду:
new AGroovySubclass().printString(5)
И это на самом деле ломается, потому что говорит, что такого свойства "str" для AGroovySubclass
нет
Я бы подумал, так как метод printString находится в AGroovyClass, у него не должно быть проблем с доступом к свойству "str", но, очевидно, я ошибаюсь. Если бы я хотел сохранить "str" в секрете, как это сделать?