อ่าน 8 นาที
รายชื่อคำสำคัญของภาษา Java
ใน ภาษาการเขียนโปรแกรม Java คีย์เวิร์ด คือ คำ สงวน 68 คำ [ 1 ] ที่มีความหมายที่กำหนดไว้ล่วงหน้าในภาษา ด้วยเหตุนี้ โปรแกรมเมอร์จึงไม่สามารถใช้คีย์เวิร์ดในบางบริบท เช่น ชื่อ ตัวแปร...
รายชื่อคำสำคัญของภาษา Java

ในภาษาการเขียนโปรแกรม Javaคีย์เวิร์ด คือ คำสงวน 68 คำ [ 1 ]ที่มีความหมายที่กำหนดไว้ล่วงหน้าในภาษา ด้วยเหตุนี้ โปรแกรมเมอร์จึงไม่สามารถใช้คีย์เวิร์ดในบางบริบท เช่น ชื่อตัวแปรเมธอดคลาสหรือ เป็น ตัวระบุอื่นๆ[ 2 ] ในบรรดาคีย์เวิร์ด 68 คำนี้ มี 17 คำที่เป็นคำสงวนตามบริบทเท่านั้น และบางครั้งสามารถใช้เป็นตัวระบุได้ ซึ่งแตกต่างจากคำสงวนมาตรฐาน เนื่องจากหน้าที่พิเศษของคีย์เวิร์ดในภาษาสภาพแวดล้อมการพัฒนาแบบบูรณาการส่วนใหญ่สำหรับ Java จึงใช้การเน้นไวยากรณ์เพื่อแสดงคีย์เวิร์ดด้วยสีที่แตกต่างกันเพื่อให้ง่ายต่อการระบุ
คำสงวน
คำต่อไปนี้เป็นคำสงวนและไม่สามารถใช้เป็นคำระบุตัวตนได้ในทุกกรณี
abstract- เมธอดที่ไม่มีนิยามจะต้องประกาศเป็น abstract และคลาสที่บรรจุเมธอดนั้นก็ต้องประกาศเป็น abstract ด้วยเช่นกัน คลาส abstract ไม่สามารถสร้างอินสแตนซ์ได้ เมธอด abstract ต้องถูกเขียนโค้ดในคลาสย่อย คำว่า abstract ไม่สามารถใช้กับตัวแปรหรือคอนสตรัคเตอร์ได้ โปรดทราบว่าคลาส abstract ไม่จำเป็นต้องมีเมธอด abstract เสมอไป
assert(เพิ่มในJ2SE 1.4 ) [ 3 ]- `Assert` คือคำสั่งแสดงเงื่อนไข (ประโยคที่เป็นจริงหรือเท็จ) ที่วางไว้ในโปรแกรม Java เพื่อบ่งชี้ว่าผู้พัฒนาคิดว่าเงื่อนไขนั้นเป็นจริงเสมอ ณ ตำแหน่งนั้น หากเงื่อนไขใด ๆ ประเมินค่าเป็นเท็จในระหว่างการทำงานของโปรแกรม จะเกิดความล้มเหลวในการตรวจสอบเงื่อนไข ซึ่งโดยทั่วไปจะทำให้โปรแกรมหยุดทำงาน โดยค่าเริ่มต้น การตรวจสอบเงื่อนไขจะถูกปิดใช้งานในระหว่างการทำงานของโปรแกรม แต่สามารถเปิดใช้งานได้ผ่านตัวเลือกในบรรทัดคำสั่งหรือโดยทางโปรแกรมผ่านเมธอดในตัวโหลดคลาส
boolean- กำหนดค่าตัวแปรบูลีนสำหรับค่า "จริง" หรือ "เท็จ" เท่านั้น โดยค่าเริ่มต้น ค่าของชนิดข้อมูลบูลีนคือเท็จ คำหลักนี้ยังใช้เพื่อประกาศว่าเมธอดส่งคืนค่าของชนิดข้อมูลพื้นฐานนี้
booleanในภาษาโปรแกรมส่วนใหญ่ ชนิดข้อมูลบูลีนมักเรียกว่า `true`boolเฉยๆ
byte- คีย์เวิร์ด นี้
byteใช้เพื่อประกาศฟิลด์ที่สามารถเก็บจำนวนเต็มสองบิตแบบ มีเครื่องหมาย 8 บิตได้ [ 4 ] [ 5 ]คีย์เวิร์ดนี้ยังใช้เพื่อประกาศว่าเมธอดส่งคืนค่าของประเภทbyteพื้นฐาน[ 6 ] [ 7 ]
case- คำสั่งใน
switchบล็อกสามารถติดป้ายกำกับได้หนึ่งป้ายหรือมากกว่าcaseคำdefaultสั่งswitchจะประเมินนิพจน์ จากนั้นดำเนินการคำสั่งทั้งหมดที่ตามหลังcaseป้ายกำกับ ที่ตรงกันswitchดู[ 8 ] [ 9 ]
catch- ใช้ร่วมกับ
tryบล็อกหลักและfinallyบล็อกเสริม คำสั่งใน บล็อกเสริมจะระบุว่าควรทำอย่างไรหาก บล็อกcatchนั้นโยนข้อยกเว้นประเภทใดประเภทหนึ่งออกมาtry
char- กำหนดตัวแปรอักขระที่สามารถเก็บอักขระใดๆ ก็ได้จากชุดอักขระของไฟล์ซอร์สโค้ด Java
class- คลาสคือประเภทที่กำหนดการใช้งานของวัตถุชนิดใดชนิดหนึ่ง คำจำกัดความของคลาสจะกำหนดฟิลด์ของอินสแตนซ์และคลาส เมธอดและคลาสภายในรวมถึงระบุอินเทอร์เฟซที่คลาสใช้งานและซูเปอร์คลาส โดยตรง ของคลาส หากไม่ได้ระบุซูเปอร์คลาสอย่างชัดเจน ซูเปอร์คลาสจะถูกกำหนดโดยปริยายคำหลัก `class` สามารถใช้ในรูปแบบ`get object` เพื่อรับวัตถุโดยไม่ต้องมีอินสแตนซ์ของคลาสนั้น ตัวอย่างเช่น ` get object` สามารถใช้แทน `get object` ได้
ObjectClass.classClassString.classnewString().getClass()
continue- ใช้เพื่อเริ่มการทำงานของโปรแกรมต่อจากจุดสิ้นสุดของลูปปัจจุบัน หากตามด้วยป้ายกำกับ
continueจะเริ่มการทำงานต่อจากจุดสิ้นสุดของลูปที่มีป้ายกำกับนั้น
default- คำ
defaultหลักสามารถใช้ในคำสั่ง switchเพื่อระบุบล็อกของคำสั่งที่จะดำเนินการหากไม่มีcaseค่าใดตรงกับค่าที่ระบุ ดูswitch[ 8 ] [ 9 ] หรืออีกทางหนึ่งdefaultคำหลักยังสามารถใช้เพื่อประกาศค่าเริ่มต้นในคำอธิบายประกอบ Java ได้ อีกด้วย ตั้งแต่ Java 8 เป็นต้นไปdefaultคำหลักสามารถใช้เพื่ออนุญาตให้อินเทอร์เฟซจัดเตรียมการใช้งานของเมธอดได้
do- คำหลัก นี้
doใช้ร่วมกับwhileเพื่อสร้างลูป do-whileซึ่งจะดำเนินการบล็อกคำสั่งที่เกี่ยวข้องกับลูป จากนั้นทดสอบนิพจน์บูลีนที่เกี่ยวข้องกับwhileหากนิพจน์ประเมินค่าเป็น truetrueบล็อกจะถูกดำเนินการอีกครั้ง และจะดำเนินต่อไปจนกว่านิพจน์จะประเมินค่าเป็นfalsefalse [ 10 ] [ 11 ]
double- คีย์เวิร์ดนี้
doubleใช้สำหรับประกาศตัวแปรที่สามารถเก็บเลขทศลอย IEEE 754 ความแม่นยำสองเท่า 64 บิตได้[ 4 ] [ 5 ] คีย์เวิร์ดนี้ยังใช้สำหรับประกาศว่าเมธอดจะส่งคืนค่าของประเภทพื้นฐาน[ 6 ] [ 7 ]double
else- คำ
elseหลักนี้ใช้ร่วมกับifเพื่อสร้างคำสั่ง if-elseซึ่งทดสอบนิพจน์บูลีนหากนิพจน์ประเมินค่าเป็น truetrueบล็อกคำสั่งที่เกี่ยวข้องกับ trueifจะถูกประเมินค่า หากนิพจน์ประเมินค่าเป็น falsefalseบล็อกคำสั่งที่เกี่ยวข้องกับ falseelseจะถูกประเมินค่า[ 12 ] [ 13 ]
enum(เพิ่มในJ2SE 5.0 ) [ 3 ]- คำสำคัญในภาษา Java ใช้สำหรับประกาศชนิดข้อมูลแบบแจงนับ (enumerated type ) ชนิดข้อมูลแบบแจงนับจะสืบทอดมาจากคลาส
Enumพื้นฐาน
extends- ใช้ในการประกาศคลาสเพื่อระบุคลาสแม่ (superclass) และใช้ในการประกาศอินเทอร์เฟซเพื่อระบุอินเทอร์เฟซแม่ (superinterface) อย่างน้อยหนึ่งรายการ คลาส X ขยายคลาส Y เพื่อเพิ่มฟังก์ชันการทำงาน โดยการเพิ่มฟิลด์หรือเมธอดให้กับคลาส Y หรือโดยการเขียนทับเมธอดของคลาส Y อินเทอร์เฟซ Z ขยายอินเทอร์เฟซอย่างน้อยหนึ่งรายการโดยการเพิ่มเมธอด คลาส X กล่าวได้ว่าเป็นคลาสย่อยของคลาส Y และอินเทอร์เฟซ Z กล่าวได้ว่าเป็นอินเทอร์เฟซย่อยของอินเทอร์เฟซที่มันขยาย
- นอกจากนี้ยังใช้เพื่อระบุขอบเขตบนของพารามิเตอร์ประเภทใน Generics ด้วย
final- กำหนดเอนทิตีเพียงครั้งเดียวที่ไม่สามารถเปลี่ยนแปลงหรือสืบทอดได้ในภายหลัง กล่าวคือ คลาสที่เป็น final ไม่สามารถสร้างคลาสย่อยได้ เมธอดที่เป็น final ไม่สามารถเขียนทับได้ และตัวแปรที่เป็น final สามารถปรากฏได้มากที่สุดเพียงครั้งเดียวในฐานะนิพจน์ด้านซ้ายของคำสั่งที่ถูกดำเนินการ เมธอดทั้งหมดในคลาสที่เป็น final นั้นเป็นแบบ implicitly
final.
finally- ใช้เพื่อกำหนดกลุ่มคำสั่งสำหรับบล็อกที่กำหนดไว้ก่อนหน้านี้โดย
tryคีย์เวิร์ด กลุ่มคำสั่งนี้finallyจะถูกดำเนินการหลังจากที่การดำเนินการออกจากtryบล็อกและcatchข้อความที่เกี่ยวข้องทั้งหมด ไม่ว่าจะมีข้อยกเว้นเกิดขึ้นหรือไม่ หรือการดำเนินการออกจากเมธอดในระหว่างtryบล็อกcatchโดยใช้returnคีย์เวิร์ดก็ตาม
float- คีย์เวิร์ดนี้
floatใช้สำหรับประกาศตัวแปรที่สามารถเก็บเลขทศลอย IEEE 754 ความแม่นยำเดี่ยว 32 บิตได้ [ 4 ] [ 5 ]คีย์เวิร์ดนี้ยังใช้สำหรับประกาศว่าเมธอดจะส่งคืนค่าของประเภทfloatพื้นฐาน[ 6 ] [ 7 ]
for- คำหลัก นี้
forใช้เพื่อสร้างลูป forซึ่งระบุการเริ่มต้นตัวแปรนิพจน์บูลีนและการเพิ่มค่า การเริ่มต้นตัวแปรจะดำเนินการก่อน จากนั้นจึงประเมินนิพจน์บูลีน หากนิพจน์ประเมินค่าเป็น truetrueบล็อกคำสั่งที่เกี่ยวข้องกับลูปจะถูกดำเนินการ จากนั้นจึงทำการเพิ่มค่า นิพจน์บูลีนจะถูกประเมินอีกครั้ง กระบวนการนี้จะดำเนินต่อไปจนกว่านิพจน์จะประเมินค่าเป็นfalsefalse [ 14 ]
- ตั้งแต่J2SE 5.0 เป็นต้นไป คำหลัก นี้
forยังสามารถใช้เพื่อสร้างสิ่งที่เรียกว่า " ลูป for ที่ได้รับการปรับปรุง " [ 15 ]ซึ่งระบุอาร์เรย์หรือIterableออบเจ็กต์ การวนซ้ำแต่ละครั้งของลูปจะดำเนินการบล็อกคำสั่งที่เกี่ยวข้องโดยใช้องค์ประกอบที่แตกต่างกันในอาร์เรย์หรือออบIterableเจ็กต์[ 14 ]
if- คำหลัก นี้
ifใช้เพื่อสร้างคำสั่ง ifซึ่งทดสอบนิพจน์บูลีนหากนิพจน์ประเมินค่าเป็นจริงtrueบล็อกคำสั่งที่เกี่ยวข้องกับคำสั่ง if จะถูกดำเนินการ คำหลักนี้ยังสามารถใช้เพื่อสร้างคำสั่ง if-else ได้elseอีก ด้วยดู[ 12 ] [ 13 ]
implements- อินเทอร์เฟซจะถูกรวมไว้ในการประกาศคลาสเพื่อระบุอิน เทอร์เฟซอย่างน้อยหนึ่ง รายการ ที่คลาสปัจจุบันนำไปใช้งาน คลาสจะสืบทอดประเภทและเมธอดนามธรรมที่ประกาศโดยอินเทอร์เฟซเหล่านั้น
import- ใช้ที่จุดเริ่มต้นของไฟล์ต้นฉบับเพื่อระบุคลาสหรือแพ็กเกจ Java ทั้งหมด ที่จะอ้างอิงในภายหลังโดยไม่ต้องรวมชื่อแพ็กเกจไว้ในการอ้างอิง ตั้งแต่ J2SE 5.0 เป็นต้นไป
importคำสั่งสามารถนำเข้าstaticสมาชิกของคลาสได้โมดูล Javaเองอาจถูกนำเข้า (โดยการเขียนimport module) ซึ่งจะนำเข้าแพ็กเกจที่ส่งออกทั้งหมดโดยอัตโนมัติ[ 16 ]
instanceof- ตัวดำเนินการไบนารีที่รับการอ้างอิงวัตถุเป็นตัวถูกดำเนินการตัวแรก และคลาสหรืออินเทอร์เฟซเป็นตัวถูกดำเนินการตัวที่สอง และให้ผลลัพธ์เป็นค่าบูลีน
instanceofตัวดำเนินการนี้จะประเมินค่าเป็นจริงก็ต่อเมื่อชนิดข้อมูลขณะรันไทม์ของวัตถุเข้ากันได้กับการกำหนดค่าของคลาสหรืออินเทอร์เฟซเท่านั้น
int- คำหลัก นี้
intใช้เพื่อประกาศตัวแปรที่สามารถเก็บจำนวนเต็มสองส่วนเสริมแบบมีเครื่องหมาย 32 บิตได้[ 4 ] [ 5 ]คำหลักนี้ยังใช้เพื่อประกาศว่าเมธอดส่งคืนค่าของประเภทintพื้นฐาน[ 6 ] [ 7 ]
interface- ใช้สำหรับประกาศอินเทอร์เฟซที่ประกอบด้วยเมธอดนามธรรมหรือเมธอดเริ่มต้น
static finalฟิลด์คงที่ (constant) และstaticอินเทอร์เฟซเท่านั้น ต่อมาคลาสต่างๆ สามารถนำไปใช้งานอินเทอร์เฟซนี้ได้โดยการประกาศอินเทอร์เฟซด้วยimplementsคีย์เวิร์ด `require` เนื่องจาก Java ไม่อนุญาตให้มี การสืบทอดแบบหลายทาง อินเทอร์เฟซจึงถูกใช้เพื่อหลีกเลี่ยงข้อจำกัดนี้ อินเทอร์เฟซหนึ่งสามารถถูกกำหนดไว้ภายในอินเทอร์เฟซอื่นได้
long- คำหลัก นี้
longใช้เพื่อประกาศตัวแปรที่สามารถเก็บจำนวนเต็มสองส่วนเสริมแบบมีเครื่องหมาย 64 บิตได้[ 4 ] [ 5 ]คำหลักนี้ยังใช้เพื่อประกาศว่าเมธอดส่งคืนค่าของประเภทlongพื้นฐาน[ 6 ] [ 7 ]
native- ใช้ในการประกาศเมธอดเพื่อระบุว่าเมธอดนั้นไม่ได้ถูกนำไปใช้ในไฟล์ซอร์สโค้ด Java เดียวกัน แต่ถูกนำไปใช้ในภาษาอื่น[ 7 ]
new- ใช้เพื่อสร้างอินสแตนซ์ของคลาสหรืออาร์เรย์ออบเจ็กต์ การใช้คีย์เวิร์ดเพื่อจุดประสงค์นี้ไม่จำเป็นเสมอไป (ดังตัวอย่างในScala ) แม้ว่าจะมีประโยชน์สองประการคือ ช่วยให้สามารถมีเนมสเปซที่แตกต่างกันสำหรับเมธอดและชื่อคลาส และกำหนดแบบคงที่และเฉพาะที่ว่ามีการสร้างออบเจ็กต์ใหม่จริง ๆ และเป็นประเภทรันไทม์ใด (ซึ่งอาจเพิ่มการพึ่งพาเข้าไปในโค้ด)
package- แพ็กเกจในภาษา Java คือกลุ่มของคลาสและอินเทอร์เฟซที่คล้ายคลึงกัน แพ็กเกจจะถูกประกาศโดยใช้
packageคีย์เวิร์ด ` package`
private- คีย์เวิร์ดนี้
privateใช้ในการประกาศเมธอด ฟิลด์ หรือคลาสภายใน สมาชิกส่วนตัวสามารถเข้าถึงได้โดยสมาชิกอื่น ๆ ของคลาสเดียวกันเท่านั้น[ 17 ]
protected- คีย์เวิร์ดนี้
protectedใช้ในการประกาศเมธอด ฟิลด์ หรือคลาสภายใน สมาชิกที่ได้รับการป้องกันสามารถเข้าถึงได้โดยสมาชิกของคลาสเดียวกันคลาสย่อย ของคลาสนั้น หรือคลาสจากแพ็กเกจ เดียวกันเท่านั้น [ 17 ]
public- คีย์เวิร์ด นี้
publicใช้ในการประกาศคลาส เมธอด หรือฟิลด์ คลาส เมธอด และฟิลด์สาธารณะสามารถเข้าถึงได้โดยสมาชิกของคลาสใดก็ได้[ 17 ]
return- ใช้เพื่อสิ้นสุดการทำงานของเมธอด โดยอาจตามด้วยค่าที่จำเป็นตามคำนิยามของเมธอด ซึ่งจะถูกส่งกลับไปยังผู้เรียกใช้
short- คีย์เวิร์ด นี้
shortใช้เพื่อประกาศฟิลด์ที่สามารถเก็บจำนวนเต็มสองส่วนเสริมแบบมีเครื่องหมาย 16 บิตได้[ 4 ] [ 5 ]คีย์เวิร์ดนี้ยังใช้เพื่อประกาศว่าเมธอดส่งคืนค่าของประเภทshortพื้นฐาน[ 6 ] [ 7 ]
static- ใช้เพื่อประกาศฟิลด์ เมธอด หรือคลาสภายในเป็นฟิลด์ของคลาส คลาสจะเก็บสำเนาฟิลด์ของคลาสไว้หนึ่งชุดโดยไม่คำนึงถึงจำนวนอินสแตนซ์ของคลาสนั้น
staticนอกจากนี้ยังใช้เพื่อกำหนดเมธอดเป็นเมธอดของคลาส เมธอดของคลาสจะผูกกับคลาสแทนที่จะเป็นอินสแตนซ์เฉพาะ และสามารถดำเนินการกับฟิลด์ของคลาสเท่านั้น คลาสและอินเทอร์เฟซที่ประกาศเป็นstaticสมาชิกของคลาสหรืออินเทอร์เฟซอื่นจะมีพฤติกรรมเป็นคลาสระดับบนสุด[ 18 ]
super- โดยพื้นฐานแล้ว การสืบทอดใช้เพื่อบรรลุการผูกมัดแบบไดนามิกหรือโพลีมอร์ฟิซึมในขณะทำงานในภาษา Java ใช้เพื่อเข้าถึงสมาชิกของคลาสที่สืบทอดโดยคลาสที่ปรากฏอยู่ ช่วยให้คลาสย่อยสามารถเข้าถึง เมธอด ที่ถูกเขียนทับและสมาชิกที่ซ่อนอยู่ของคลาสแม่ได้
superคำหลักนี้ยังใช้เพื่อส่งต่อการเรียกจากคอนสตรัคเตอร์ไปยังคอนสตรัคเตอร์ในคลาสแม่ด้วย - นอกจากนี้ยังใช้เพื่อระบุขอบเขตล่างของพารามิเตอร์ประเภทใน Generics ด้วย
switch- คำหลัก นี้
switchใช้ร่วมกับcaseและdefaultเพื่อสร้างคำสั่ง switchซึ่งจะประเมินตัวแปร จับคู่ค่าของตัวแปรกับค่าเฉพาะcase(รวมถึงรูปแบบ ) และดำเนินการบล็อกคำสั่งที่เกี่ยวข้องกับค่า ดังกล่าวcaseหากไม่มีcaseค่าใดตรงกับค่าที่กำหนด บล็อกเสริมที่มีป้ายกำกับโดยdefaultจะถูกดำเนินการหากมีอยู่[ 8 ] [ 9 ]คำหลัก switch ยังสามารถใช้ร่วมกับคำหลักที่ไม่สงวนไว้yieldเพื่อสร้างนิพจน์ switch ได้ อีกด้วย
synchronized- ใช้ในการประกาศเมธอดหรือบล็อกโค้ดเพื่อรับ ล็อก มิวเท็กซ์สำหรับวัตถุในขณะที่เธรด ปัจจุบัน กำลังดำเนินการโค้ด[ 7 ]สำหรับเมธอดแบบสแตติก วัตถุที่ถูกล็อกคือคลาส
Classรับประกันว่าจะมีเธรดเพียงเธรดเดียวเท่านั้นที่ทำงานกับวัตถุเดียวกันในเวลาเดียวกันเพื่อดำเนินการโค้ดนั้น ล็อกมิวเท็กซ์จะถูกปล่อยโดยอัตโนมัติเมื่อการดำเนินการออกจากโค้ดที่ซิงโครไนซ์ ฟิลด์ คลาส และอินเทอร์เฟซไม่สามารถประกาศเป็นซิงโครไนซ์ได้
this- ใช้เพื่อแสดงถึงอินสแตนซ์ของคลาสที่ปรากฏอยู่
thisสามารถใช้เพื่อเข้าถึงสมาชิกของคลาสและเป็นตัวอ้างอิงถึงอินสแตนซ์ปัจจุบันthisคำหลักนี้ยังใช้เพื่อส่งต่อการเรียกจากคอนสตรัคเตอร์หนึ่งในคลาสไปยังคอนสตรัคเตอร์อื่นในคลาสเดียวกันด้วย
throw- ทำให้เกิดการโยนอินสแตนซ์ข้อยกเว้นที่ประกาศไว้ ซึ่งจะทำให้การทำงานดำเนินต่อไปด้วยตัวจัดการข้อยกเว้นตัวแรกที่ประกาศโดย
catchคีย์เวิร์ดเพื่อจัดการประเภทข้อยกเว้นที่เข้ากันได้กับการกำหนดค่า หากไม่พบตัวจัดการข้อยกเว้นดังกล่าวในเมธอดปัจจุบัน เมธอดจะส่งคืนค่าและกระบวนการจะถูกทำซ้ำในเมธอดที่เรียก หากไม่พบตัวจัดการข้อยกเว้นในการเรียกเมธอดใดๆ บนสแต็ก ข้อยกเว้นจะถูกส่งต่อไปยังตัวจัดการข้อยกเว้นที่ไม่ได้ถูกดักจับของเธรด
throws- ใช้ในการประกาศเมธอดเพื่อระบุว่าข้อยกเว้นใดบ้างที่ไม่ได้รับการจัดการภายในเมธอด แต่จะถูกส่งต่อไปยังระดับที่สูงกว่าของโปรแกรม ข้อยกเว้นที่ไม่ได้ถูกจัดการทั้งหมดในเมธอด (ที่สืบทอดมา
Exceptionแต่ไม่ใช่เมธอดRuntimeException) จะต้องประกาศโดยใช้throwsคีย์เวิร์ด
transient- ประกาศว่าฟิลด์อินสแตนซ์ไม่ได้เป็นส่วนหนึ่งของ รูปแบบ ซีเรียลไลซ์ เริ่มต้น ของวัตถุ เมื่อวัตถุถูกซีเรียลไลซ์ เฉพาะค่าของฟิลด์อินสแตนซ์ที่ไม่ใช่แบบชั่วคราวเท่านั้นที่จะรวมอยู่ในรูปแบบซีเรียลไลซ์เริ่มต้น เมื่อวัตถุถูกดีซีเรียลไลซ์ ฟิลด์แบบชั่วคราวจะถูกเริ่มต้นด้วยค่าเริ่มต้นเท่านั้น หากไม่ได้ใช้รูปแบบเริ่มต้น เช่น เมื่อ มีการประกาศตาราง serialPersistentFieldsในลำดับชั้นของคลาส
transientคำหลักทั้งหมดจะถูกละเว้น[ 19 ] [ 20 ]
try- กำหนดกลุ่มคำสั่งที่มีการจัดการข้อยกเว้น หากเกิดข้อยกเว้นภายใน
tryกลุ่มคำสั่งนั้น กลุ่มคำสั่งเสริมcatchสามารถจัดการประเภทข้อยกเว้นที่ประกาศไว้ได้ นอกจากนี้ ยังfinallyสามารถประกาศกลุ่มคำสั่งเสริมที่จะถูกเรียกใช้เมื่อการทำงานออกจากtryกลุ่มคำสั่งและcatchส่วนย่อย โดยไม่คำนึงว่าจะมีข้อยกเว้นเกิดขึ้นหรือไม่tryกลุ่มคำสั่งต้องมีอย่างน้อยหนึ่งcatchส่วนย่อยหรือfinallyกลุ่มคำสั่ง
volatile- ใช้ในการประกาศฟิลด์เพื่อรับประกันการมองเห็นการเปลี่ยนแปลงของตัวแปรข้ามเธรด การอ่านตัวแปร volatile ทุกครั้งจะถูกอ่านจากหน่วยความจำหลัก ไม่ใช่จากแคช CPUและการเขียนตัวแปร volatile ทุกครั้งจะถูกเขียนไปยังหน่วยความจำหลัก ไม่ใช่แค่แคช CPU [ 21 ]ดังนั้น เมธอด คลาส และอินเทอร์เฟซจึงไม่สามารถประกาศเป็นvolatile ได้เช่นเดียวกับตัวแปรโลคอลหรือพารามิเตอร์
while- คำ
whileหลักนี้ใช้เพื่อสร้างลูป whileซึ่งจะทดสอบนิพจน์บูลีนและดำเนินการบล็อกคำสั่งที่เกี่ยวข้องกับลูปหากนิพจน์ประเมินค่าเป็นจริงtrueซึ่งจะดำเนินต่อไปจนกว่านิพจน์จะประเมินค่าเป็นfalseเท็จ คำหลักนี้ยังสามารถใช้เพื่อสร้างลูป do-while ได้doอีก ด้วยดู[ 10 ] [ 11 ]
ยังไม่ได้ใช้งาน
คำต่อไปนี้ถูกสงวนไว้เป็นคำหลัก แต่ปัจจุบันยังไม่มีประโยชน์หรือวัตถุประสงค์ใดๆ
_- เครื่องหมายขีดล่างที่เพิ่มเข้ามาใน Java 9 ได้กลายเป็นคำสำคัญและไม่สามารถใช้เป็นชื่อตัวแปรได้อีกต่อไป[ 22 ]
const- แม้ว่าจะถูกสงวนไว้เป็นคำหลักใน Java แต่
constก็ไม่ได้ถูกใช้และไม่มีฟังก์ชัน[ 2 ] [ 23 ]ในภาษาอื่นๆconstมักใช้เพื่อกำหนดค่าคงที่ สำหรับการกำหนดค่าคงที่ใน Java โปรดดูfinalคำหลัก
goto- แม้ว่าจะถูกสงวนไว้เป็นคำหลักใน Java แต่
gotoก็ไม่ได้ถูกใช้และไม่มีฟังก์ชัน[ 2 ] [ 23 ]ในภาษาอื่นๆgotoมักใช้เป็นคำสั่งควบคุมทางเดียวเพื่อกระโดดไปยังป้ายกำกับที่บรรทัดโค้ดอื่น
strictfp(เพิ่มในJ2SE 1.2 ) [ 3 ]- แม้ว่าจะถูกสงวนไว้เป็นคำหลักใน Java
strictfpแต่ก็ล้าสมัยและไม่มีฟังก์ชันใด ๆ อีกต่อไป[ 24 ]ก่อนหน้านี้คำหลักนี้ถูกใช้เพื่อจำกัดความแม่นยำและการปัดเศษของการคำนวณจุดลอยตัวเพื่อให้มั่นใจถึงความสามารถในการพกพา[ 7 ]
คำหลักตามบริบท
คำระบุต่อไปนี้เป็นคำหลักตามบริบท และจะถูกจำกัดการใช้งานเฉพาะในบางบริบทเท่านั้น:
exports- ใช้ในการประกาศโมดูลเพื่อระบุว่าแพ็กเกจใดบ้างที่โมดูลอื่นสามารถใช้งานได้
module- ประกาศโมดูล (กลุ่มของแพ็กเกจและทรัพยากรที่เกี่ยวข้องซึ่งสามารถถือได้ว่าเป็นหน่วยเดียวกัน) ซึ่งใช้เพื่อห่อหุ้มและเปิดเผยเฉพาะ API สาธารณะของไลบรารีเท่านั้น
non-sealed- ใช้เพื่อประกาศว่าคลาสหรืออินเทอร์เฟซที่ขยายคลาสที่ปิดผนึกสามารถขยายได้โดยคลาสที่ไม่รู้จัก[ 25 ]
open- ระบุว่าคลาสทั้งหมดในแพ็กเกจสามารถเข้าถึงได้ผ่านทาง Reflection โดยโมดูลอื่นๆ
opens- ใช้สำหรับเปิดแพ็กเกจเฉพาะเพื่อนำไปแสดงผลในโมดูลอื่นๆ
permits- ข้อกำหนดการอนุญาตระบุคลาสที่ได้รับอนุญาตให้ขยายคลาสที่ปิดผนึก[ 25 ]
provides- ใช้เพื่อประกาศว่าโมดูลนั้นมีการใช้งานอินเทอร์เฟซบริการ
record- คลาสชนิดพิเศษที่ทำหน้าที่เป็นตัวกลางโปร่งใสในการส่งข้อมูลที่ไม่สามารถเปลี่ยนแปลงได้ โดยจะจัดเตรียมเมธอด
.equals(),.hashCode(), และ.toString()โดย อัตโนมัติ
requires- ใช้ในการประกาศโมดูลเพื่อระบุว่าโมดูลนั้นขึ้นอยู่กับโมดูลอื่น
sealed- คลาสหรืออินเทอร์เฟซที่ปิดผนึกสามารถขยายหรือใช้งานได้เฉพาะโดยคลาสและอินเทอร์เฟซที่ได้รับอนุญาตให้ทำเช่นนั้นเท่านั้น[ 25 ]
to- ใช้ร่วมกับ
opensคำสั่งเพื่อระบุว่าโมดูลใดได้รับอนุญาตให้เข้าถึงแพ็กเกจแบบสะท้อนกลับได้
transitive- ใช้ร่วมกับ
requiresคำสั่งเพื่อระบุว่าโมดูลหนึ่งไม่เพียงแต่ต้องการโมดูลอื่นเท่านั้น แต่ยังทำให้โมดูลที่ขึ้นกับโมดูลนั้นสามารถเข้าถึงส่วนประกอบที่จำเป็นของโมดูลดังกล่าวได้ด้วย
uses- ใช้ในโมดูลเพื่อประกาศว่าโมดูลนั้นกำลังใช้บริการ (กล่าวคือ จะใช้บริการที่จัดหาโดยโมดูลอื่น)
var- ตัวระบุพิเศษที่ไม่สามารถใช้เป็นชื่อประเภทได้ (ตั้งแต่ Java 10) [ 26 ]ใช้เพื่อประกาศตัวแปรโดยไม่ต้องระบุประเภทอย่างชัดเจน แต่ใช้คอมไพเลอร์ในการอนุมานประเภทตามตัวเริ่มต้น
when- ใช้เป็นการตรวจสอบเพิ่มเติมสำหรับ
caseคำแถลง[ 27 ]
with- ใช้ร่วมกับ
providesคำสั่งเพื่อระบุว่าโมดูลนั้นให้บริการการใช้งานแบบใด
yield- ใช้เพื่อกำหนดค่าสำหรับนิพจน์สวิตช์เมื่อใช้กลุ่มคำสั่งที่มีป้ายกำกับ (ตัวอย่างเช่น
case L:) [ 28 ]
คำสงวนสำหรับค่าตามตัวอักษร
คำต่อไปนี้หมายถึงความหมายตามตัวอักษรที่ใช้ในภาษา
true- ค่าตัวอักษรบูลีน
false- ค่าตัวอักษรบูลีน
null- ค่าตัวอักษรอ้างอิง
ดูเพิ่มเติม
ลิงก์ภายนอก
- Gosling, James ; Joy, Bill ; Steele, Guy ; Bracha, Gilad (มิถุนายน 2548). ข้อกำหนดภาษาจาวา (ฉบับที่สาม). Addison-Wesley Professional. ISBN 978-0-321-24678-3สืบค้นข้อมูลเมื่อ2008-12-03
- ฟลานาแกน, เดวิด (มีนาคม 2548). Java in a Nutshell (ฉบับที่ห้า). O'Reilly Media . ISBN 978-0-596-00773-7สืบค้นเมื่อ2010-03-03
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รายชื่อคำสำคัญของภาษา Java
ใน ภาษาการเขียนโปรแกรม Java คีย์เวิร์ด คือ คำ สงวน 68 คำ [ 1 ] ที่มีความหมายที่กำหนดไว้ล่วงหน้าในภาษา ด้วยเหตุนี้ โปรแกรมเมอร์จึงไม่สามารถใช้คีย์เวิร์ดในบางบริบท เช่น ชื่อ ตัวแปร...
คำสงวน
คำต่อไปนี้เป็นคำสงวนและไม่สามารถใช้เป็นคำระบุตัวตนได้ในทุกกรณี
ยังไม่ได้ใช้งาน
คำต่อไปนี้ถูกสงวนไว้เป็นคำหลัก แต่ปัจจุบันยังไม่มีประโยชน์หรือวัตถุประสงค์ใดๆ
คำหลักตามบริบท
คำระบุต่อไปนี้เป็นคำหลักตามบริบท และจะถูกจำกัดการใช้งานเฉพาะในบางบริบทเท่านั้น: