Access modifiers in Java define the scope of variables, methods, and classes. The four access modifiers are public, private, protected, and default. Public members are accessible everywhere, private within the class, protected within the package and subclasses, and default within the package. Arrays are objects that hold multiple values of the same type. One-dimensional arrays have a fixed length, and elements are initialized with default values. Multi-dimensional arrays are arrays of arrays. Two-dimensional arrays represent rows and columns. Array bounds cannot be exceeded, but the reference variable can refer to a new array. The arraycopy method copies arrays.