private
, public
и protected
все используются для объявления Scope класса для переменной.
static
означает, что определяемая вещь являетсячлен класса, а не объект, который является экземпляром класса.
abstract
означает, что класс не может быть создан напрямую и может использоваться только подклассами.Абстрактный метод может быть определен в абстрактном классе и означает, что любой подкласс должен определять метод, соответствующий определенной сигнатуре.
final
означает, что переменной можно присвоить переменную только один раз при ее создании.Окончательный класс / метод не может быть унаследован / переопределен, соответственно.
Избегайте размещения всего в одном большом файле.Используйте IDE, например Eclipse, и вам будет легко работать с кодом, который имеет один класс на файл.Это позволяет вам лучше организовать свой код и инкапсулировать код, чтобы вы не оказались в ситуации, когда все знают обо всем.Это приведет к ошибкам, так как станет легче случайно использовать что-то, что было создано для другой цели.