Я думаю, что Вы хотите этот http://pgl.yoyo.org/luai/i/io.popen io.popen. Но это не всегда компилируется в.
It's not just enums. Enums are just special kinds of classes. In general you can have multiple classes declared in one file (as long as no two of them are public).
Нет, без модификатора доступа перечисление является частным для пакета. Это означает, что его могут использовать только классы в одном пакете. И вы не можете сделать это только с помощью перечисления, классы также можно сделать закрытыми для пакетов.
Дополнительная информация: http://java.sun.com/docs/books/tutorial/java/javaOO/ accesscontrol.html
Иногда эта идиома может быть разумной - например, представьте, что у вас есть класс UploadHandler
(или что-то в этом роде), который может возвращать статус загрузки. Мне кажется вполне возможным реализовать этот статус в виде перечисления - и поскольку перечисление (например, UploadStatus
) явно «принадлежит» классу UploadHandler, его можно объявить в том же исходном файле. (Это, конечно, предполагает, что он должен быть только приватным для пакета - если он действительно общедоступен, его нужно будет объявить в собственном файле, что, вероятно, имело бы смысл, если бы он больше не был внутренним).
Как такое случается, в этом случае я, вероятно, сделал бы его статическим внутренним классом, чтобы сделать отношения более явными. Но объявление нескольких классов в одном исходном файле - это не так. t всегда плохо и иногда может улучшить удобочитаемость, устанавливая ожидание, что это пограничный, вспомогательный класс. (К тому же я не думаю, что такие классы должны делать что-то особенно сложное или неожиданное.)
Перечисление определяет список значений констант, которые могут быть присвоены определенному типу. Это может быть как внутри класса, так и вне его.
It compiles actually, on my Eclipse ! ;-)
Several classes are allowed to be in the same file. The limitation is that a public class has to be defined in a file that has the same name.
It's visibility is 'package', so it should be visible in other classes in the same package too.
What can I do with that enum?
You can do anything you want with the above limitations...
Note : although you had it wrong, you shouldn't feel too bad, because it's not really a good practice either. In our CheckStyle configuration, outer classes in the same file like this are treated as errors !!