Urutan penggunaan biasa dari pengubah disebutkan dalam Spesifikasi Bahasa Java (dan bukan Spesifikasi Mesin Virtual Java) misalnya untuk pengubah kelas Anda akan menemukan definisi berikut (ekstrak):
ClassModifiers:
ClassModifier
ClassModifiers ClassModifier
ClassModifier: one of
Annotation public protected private
abstract static final strictfp
[....]
Jika dua atau lebih pengubah kelas (berbeda) muncul dalam deklarasi kelas, maka sudah lazim, meskipun tidak wajib, mereka muncul dalam urutan yang konsisten dengan yang ditunjukkan di atas dalam produksi untuk ClassModifier. (teks kecil di bagian bawah paragraf!)
Anda akan menemukan kalimat ini di beberapa tempat lain di mana penggunaan pengubah ditentukan, misalnya di sini untuk pengubah bidang.
Pembaruan : Saya mengganti "ditentukan / disarankan" dengan "kebiasaan" untuk membuat ini jawaban yang dapat diterima. Pertimbangkan ini jika Anda membaca komentar ;-) (terima kasih @EJP untuk menjelaskannya) - Namun demikian saya akan merekomendasikan untuk menggunakanpesanan biasa .
Google juga merekomendasikan penggunaan urutan biasa yang disebutkan dalam spesifikasi Java.
public / protected / private
abstract
static
final
transient
volatile
synchronized
native
strictfp
Pembaruan : Adainisiatif " Panduan Gaya Java " baruuntuk proyek di komunitas OpenJDK. Ini juga memiliki rekomendasi untuk urutan pengubah dan juga termasukpengubah default baruJava 8.
public / private / protected
abstract
static
final
transient
volatile
**default**
synchronized
native
strictfp