Přístup ke třídám i jejim prvkům lze (podobně jako např. v C++) regulovat:
Omezení přístupu je kontrolováno hned při překladu -> není-li přístup povolen, nelze program ani přeložit.
Tímto způsobem lze regulovat přístup staticky, mezi celými třídami, nikoli pro jednotlivé objekty
Jiný způsob zabezpečení představuje tzv. security manager, který lze aktivovat při spuštění JVM.