it-swarm-id.com

Karakter yang valid dalam nama kelas Java

Karakter apa yang valid dalam nama kelas Java? Apa aturan lain yang mengatur nama kelas Java (misalnya, nama kelas Java tidak bisa dimulai dengan angka)

64
Zach

Anda dapat memiliki hampir semua karakter, termasuk sebagian besar karakter Unicode! Definisi persisnya ada di Spesifikasi Bahasa Jawa di bawah bagian 3.8: Pengidentifikasi .

Identifier adalah urutan panjang tak terbatas dari huruf Java dan angka Java, yang pertama harus berupa huruf Java. ...

Huruf dan angka dapat diambil dari seluruh rangkaian karakter Unicode, ... Ini memungkinkan pemrogram untuk menggunakan pengidentifikasi dalam program mereka yang ditulis dalam bahasa asli mereka.

Pengidentifikasi tidak dapat memiliki ejaan yang sama (urutan karakter Unicode) sebagai kata kunci (§3.9), boolean literal (§3.10.3), atau null literal (§3.10.7), atau kesalahan waktu kompilasi terjadi.

Namun, lihat pertanyaan ini untuk mengetahui apakah Anda harus melakukannya atau tidak.

54
Jason Cohen

Setiap bahasa pemrograman memiliki seperangkat aturan dan konvensi untuk jenis nama yang diizinkan untuk Anda gunakan, dan bahasa pemrograman Java tidak berbeda. Aturan dan konvensi untuk memberi nama variabel Anda dapat diringkas sebagai berikut:

  • Nama variabel peka huruf besar-kecil. Nama variabel dapat berupa pengidentifikasi hukum apa pun - urutan panjang tak terbatas dari huruf dan angka Unicode, dimulai dengan huruf, tanda dolar "$", atau karakter garis bawah "_". Namun, konvensi ini adalah untuk selalu memulai nama variabel Anda dengan huruf, bukan "$" atau "_". Selain itu, karakter tanda dolar, berdasarkan konvensi, tidak pernah digunakan sama sekali. Anda mungkin menemukan beberapa situasi di mana nama yang dihasilkan secara otomatis akan mengandung tanda dolar, tetapi nama variabel Anda harus selalu menghindari menggunakannya. Konvensi serupa ada untuk karakter garis bawah; sementara secara teknis legal untuk memulai nama variabel Anda dengan "_", praktik ini tidak disarankan. Ruang putih tidak diizinkan.

  • Karakter selanjutnya dapat berupa huruf, angka, tanda dolar, atau karakter garis bawah. Konvensi (dan akal sehat) juga berlaku untuk aturan ini. Saat memilih nama untuk variabel Anda, gunakan kata-kata penuh alih-alih singkatan samar. Melakukan hal itu akan membuat kode Anda lebih mudah dibaca dan dimengerti. Dalam banyak kasus itu juga akan membuat kode Anda mendokumentasikan diri sendiri; bidang yang disebut irama, kecepatan, dan gir, misalnya, jauh lebih intuitif daripada versi yang disingkat, seperti s, c, dan g. Ingat juga bahwa nama yang Anda pilih tidak boleh berupa kata kunci atau kata yang dipesan.

  • Jika nama yang Anda pilih hanya terdiri dari satu kata, eja kata itu dalam semua huruf kecil. Jika terdiri dari lebih dari satu kata, huruf besar huruf pertama dari setiap kata berikutnya. Nama-nama gearRatio dan currentGear adalah contoh utama dari konvensi ini. Jika variabel Anda menyimpan nilai konstan, seperti static final int NUM_GEARS = 6, konvensi sedikit berubah, huruf besar setiap huruf dan pisahkan kata-kata berikutnya dengan karakter garis bawah. Dengan konvensi, karakter garis bawah tidak pernah digunakan di tempat lain. 

Dari Tutorial Java resmi .

16
Ivan Bosnic

Selanjutnya untuk jawaban sebelumnya perlu dicatat bahwa:

  1. Java memungkinkan simbol mata uang Unicode apa pun dalam nama simbol, jadi yang berikut semuanya akan berfungsi:

$ var1 £ var2 € var3

Saya percaya penggunaan simbol mata uang berasal dari C/C++, di mana variabel ditambahkan ke kode Anda oleh kompiler dimulai dengan '$'. Contoh yang jelas di Jawa adalah nama-nama file '.class' untuk kelas dalam, yang menurut konvensi memiliki format 'Outer $ Inner.class'

  1. Banyak programmer C # dan C++ mengadopsi konvensi penempatan 'I' di depan antarmuka (alias kelas virtual murni di C++). Ini tidak diperlukan, dan karenanya tidak dilakukan, di Jawa karena kata kunci implement membuatnya sangat jelas ketika sesuatu adalah antarmuka.

Membandingkan:

karyawan kelas: IPayable publik // C++

dengan

karyawan kelas: IPayable // C #

dan 

kelas Karyawan mengimplementasikan Hutang // Jawa

  1. Banyak proyek menggunakan konvensi menempatkan garis bawah di depan nama bidang, sehingga mereka dapat dengan mudah dibedakan dari variabel dan parameter lokal mis.

_salary ganda pribadi;

Minoritas kecil menempatkan garis bawah setelah nama bidang mis.

gaji ganda pribadi_;

9
Garth Gilmour

Seperti yang telah dinyatakan oleh Jason Cohen, Spesifikasi Bahasa Jawa mendefinisikan apa pengidentifikasi hukum di bagian 3.8:

"Identifier adalah urutan panjang tak terbatas dari huruf Java dan digit Java, yang Yang pertama harus berupa huruf Java. [...] 'Java letter' adalah karakter yang digunakan metode Character.isJavaIdentifierStart ( int) mengembalikan true. 'Java letter-or-digit' adalah karakter di mana metode Character.isJavaIdentifierPart (int) mengembalikan true. "

Semoga ini menjawab pertanyaan kedua Anda. Tentang pertanyaan pertama Anda; Saya telah diajarkan baik oleh guru dan (sejauh yang saya ingat) kompiler Java bahwa nama kelas Java harus menjadi pengidentifikasi yang dimulai dengan huruf kapital A-Z, tetapi saya tidak dapat menemukan sumber yang dapat diandalkan mengenai hal ini. Ketika mencobanya dengan OpenJDK tidak ada peringatan saat memulai nama kelas dengan huruf kecil atau bahkan $ -sign. Saat menggunakan $ -sign, Anda harus menghindarinya jika Anda mengkompilasi dari bash Shell.

4
EriF89

Saya ingin menambahkan jawaban bosnic bahwa setiap karakter mata uang yang valid adalah legal untuk pengidentifikasi di Jawa. € adalah pengidentifikasi hukum, seperti € ini, dan € juga. Namun, saya tidak tahu cara mengedit jawabannya, jadi saya terpaksa memposting tambahan yang sepele ini.

2
MetroidFan2002

Apa aturan lain yang mengatur nama kelas Java (misalnya, nama kelas Java tidak bisa dimulai dengan angka)

  • Nama kelas Java biasanya dimulai dengan huruf kapital.
  • Nama kelas Java tidak bisa dimulai dengan angka.
  • jika ada beberapa kata dalam nama kelas seperti "MyClassName" setiap kata harus dimulai dengan huruf kapital. misalnya- "MyClassName" .Konvensi penamaan ini didasarkan pada CamelCase Type.
1
Deepak Kumar

Nama kelas harus berupa kata benda di UpperCamelCase, dengan huruf pertama dari setiap kata ditulis dengan huruf besar. Gunakan seluruh kata - hindari akronim dan singkatan (kecuali singkatan jauh lebih banyak digunakan daripada bentuk panjang, seperti URL atau HTML) . Konvensi penamaan dapat dibaca di sini:

http://www.Oracle.com/technetwork/Java/codeconventions-135099.html

0
Sachin Tiwari

Pengidentifikasi digunakan untuk nama kelas, nama metode, dan nama variabel. Identifikasi dapat berupa urutan deskriptif huruf besar dan kecil, angka, atau karakter garis bawah dan tanda dolar. Mereka tidak boleh mulai dengan angka, jangan sampai mereka bingung dengan literal numerik. Sekali lagi, Java adalah case-sensitive, jadi VALUE adalah pengidentifikasi yang berbeda dari Nilai . Beberapa contoh pengidentifikasi yang valid adalah:

AvgTemp, hitung a4, $ test, this_is_ok

Nama variabel tidak valid meliputi:

2 hitungan, suhu tinggi, Tidak/ok

0
navneet kumar