firstname
переменная является типом для [String]
, что означает, что она должна содержать массив строк.
В строке firstname = _1900s_boysnames_uk.randomElement()
вы присваиваете значение String
массиву строк.
Чтобы исправить это, вы можете изменить строку на firstname.append(_1900s_boysnames_uk.randomElement())
.
Объем по умолчанию является частным на пакет. Все классы в том же пакете могут получить доступ к методу/полю/классу. Частный на пакет является более строгим, чем защищенные и общедоступные объемы, но более разрешающим, чем частный объем.
Больше информации:
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
http://mindprod.com/jgloss/scope.html
К чему-либо определенному как частный пакет могут получить доступ сам класс, другие классы в том же пакете, но не за пределами пакета, и не подклассами.
Посмотрите эту страницу для удобной таблицы модификаторов уровня доступа...
Без модификатора доступа участник класса доступен всюду по пакету, в котором он объявляется. Можно узнать больше из Спецификации языка Java, §6.6.
Члены интерфейса всегда публично доступны, ли явно заявленный или нет.
Объемом по умолчанию является "значение по умолчанию". Это странно - посмотрите они ссылки для большего количества информации.