โปรแกรม Java ถือได้ว่าเป็นชุดของอ็อบเจ็กต์ที่ทำงานร่วมกันโดยการเรียกเมธอดของกันและกัน เนื้อหาต่อไปนี้จะแนะนำแนวคิดของคลาส วัตถุ วิธีการ และตัวแปรอินสแตนซ์โดยย่อ
วัตถุ : วัตถุเป็นตัวอย่างของคลาสและมีสถานะและพฤติกรรม ตัวอย่างเช่น สุนัขเป็นวัตถุ สถานะ ได้แก่ สี ชื่อ และสายพันธุ์ พฤติกรรม ได้แก่ การกระดิกหาง การเห่า การกิน เป็นต้น
คลาส : คลาสคือเทมเพลตที่อธิบายพฤติกรรมและสถานะของคลาสของออบเจ็กต์
Method : Method คือพฤติกรรม และคลาสสามารถมีได้หลายวิธี การดำเนินการทางตรรกะ การแก้ไขข้อมูล และการดำเนินการทั้งหมดจะเสร็จสิ้นในวิธีการ
ตัวแปรอินสแตนซ์ : แต่ละออบเจ็กต์มีตัวแปรอินสแตนซ์ที่ไม่ซ้ำกัน และสถานะของออบเจ็กต์จะถูกกำหนดโดยค่าของตัวแปรอินสแตนซ์เหล่านี้
มาดูโปรแกรม Java ง่ายๆ ที่จะพิมพ์สตริง Hello World กัน
คลาสสาธารณะ MyFirstJavaProgram {
/* โปรแกรม Java ตัวแรก
* มันจะพิมพ์สตริง Hello World
-
โมฆะคงสาธารณะหลัก (สตริง [] args) {
System.out.println("Hello World"); // พิมพ์ Hello World
-
-
คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการบันทึก คอมไพล์ และรันโปรแกรมนี้:
เปิด Notepad และเพิ่มโค้ดด้านบน
บันทึกชื่อไฟล์เป็น: MyFirstJavaProgram.java;
เปิดหน้าต่างคำสั่ง cmd และป้อนตำแหน่งของไฟล์เป้าหมาย โดยสมมติว่าเป็น C:
พิมพ์ javac MyFirstJavaProgram.java ในหน้าต่างบรรทัดคำสั่งแล้วกด Enter เพื่อคอมไพล์โค้ด หากไม่มีข้อผิดพลาดในโค้ด พรอมต์คำสั่ง cmd จะเลื่อนไปยังบรรทัดถัดไป (สมมติว่าตัวแปรสภาพแวดล้อมได้รับการตั้งค่าไว้ทั้งหมด)
จากนั้นพิมพ์ java MyFirstJavaProgram แล้วกดปุ่ม Enter เพื่อรันโปรแกรม
คุณจะเห็น Hello World ในหน้าต่าง
C :> javac MyFirstJavaProgram.java
C :> จาวา MyFirstJavaProgram
สวัสดีชาวโลก
เมื่อเขียนโปรแกรม Java คุณควรคำนึงถึงประเด็นต่อไปนี้:
การพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ : Java คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ซึ่งหมายความว่าตัวระบุ Hello และ Hello นั้นแตกต่างกัน
ชื่อคลาส : สำหรับทุกคลาส ตัวอักษรตัวแรกของชื่อคลาสควรเป็นตัวพิมพ์ใหญ่ หากชื่อคลาสประกอบด้วยคำหลายคำ ตัวอักษรตัวแรกของแต่ละคำควรเป็นตัวพิมพ์ใหญ่ เช่น MyFirstJavaClass
ชื่อวิธีการ : ชื่อวิธีการทั้งหมดควรเริ่มต้นด้วยอักษรตัวพิมพ์เล็ก หากชื่อวิธีการมีหลายคำ ตัวอักษรแรกของแต่ละคำที่ตามมาจะเป็นตัวพิมพ์ใหญ่
ชื่อไฟล์ต้นฉบับ : ชื่อไฟล์ต้นฉบับจะต้องเหมือนกับชื่อคลาส เมื่อบันทึกไฟล์ คุณควรใช้ชื่อคลาสเป็นชื่อไฟล์ (โปรดจำไว้ว่า Java คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) และส่วนต่อท้ายชื่อไฟล์ .java ( หากชื่อไฟล์และชื่อคลาสแตกต่างกัน จะเกิดข้อผิดพลาดในการคอมไพล์ )
รายการเมธอดหลัก : โปรแกรม Java ทั้งหมดเริ่มดำเนินการจากเมธอด public static void main(String [] args)
ส่วนประกอบทั้งหมดของ Java จำเป็นต้องมีชื่อ ชื่อคลาส ชื่อตัวแปร และชื่อเมธอด ล้วนเรียกว่าตัวระบุ
เกี่ยวกับตัวระบุ Java มีประเด็นที่ควรทราบดังต่อไปนี้:
ตัวระบุทั้งหมดควรเริ่มต้นด้วยตัวอักษร (AZ หรือ az) เครื่องหมายดอลลาร์ ($) หรือขีดล่าง (_)
อักขระตัวแรกสามารถตามหลังด้วยตัวอักษร (AZ หรือ az) เครื่องหมายดอลลาร์ ($) ขีดล่าง (_) หรือตัวเลขผสมกัน
ไม่สามารถใช้คำหลักเป็นตัวระบุได้
ตัวระบุจะต้องตรงตามตัวพิมพ์ใหญ่-เล็ก
ตัวอย่างของตัวระบุทางกฎหมาย: อายุ, $salary, _value, __1_value
ตัวอย่างของตัวระบุที่ผิดกฎหมาย: 123abc, -salary
เช่นเดียวกับภาษาอื่นๆ Java สามารถใช้ตัวดัดแปลงเพื่อแก้ไขวิธีการและคุณสมบัติในคลาสได้ ตัวแก้ไขมีสองประเภทหลัก:
ตัวดัดแปลงการควบคุมการเข้าถึง: ค่าเริ่มต้น, สาธารณะ, มีการป้องกัน, ส่วนตัว
ตัวดัดแปลงการควบคุมการเข้าถึง: ขั้นสุดท้าย นามธรรม คงที่ ซิงโครไนซ์ และผันผวน
เราจะหารือเกี่ยวกับโมดิฟายเออร์ Java ในเชิงลึกในบทต่อๆ ไป
ตัวแปรใน Java มีประเภทต่างๆ ดังต่อไปนี้เป็นส่วนใหญ่:
ตัวแปรท้องถิ่น
ตัวแปรคลาส (ตัวแปรคงที่)
ตัวแปรสมาชิก (ตัวแปรที่ไม่คงที่)
อาร์เรย์คืออ็อบเจ็กต์ที่จัดเก็บไว้ในฮีปและสามารถจัดเก็บตัวแปรประเภทเดียวกันได้หลายตัว ในบทต่อๆ ไป เราจะเรียนรู้วิธีการประกาศ สร้าง และเริ่มต้นอาร์เรย์
Java 5.0 แนะนำการแจงนับ ซึ่งจำกัดตัวแปรให้เป็นค่าที่ตั้งไว้ล่วงหน้า การใช้การแจงนับสามารถลดจุดบกพร่องในโค้ดของคุณได้
ตัวอย่างเช่น เราออกแบบโปรแกรมสำหรับร้านขายน้ำผลไม้ที่จะจำกัดน้ำผลไม้ให้อยู่ในถ้วยเล็ก กลาง และใหญ่ นั่นหมายความว่าไม่อนุญาตให้ลูกค้าสั่งน้ำผลไม้นอกเหนือจากสามขนาดดังกล่าว
คลาส FreshJuice {
enum FreshJuiceSize{ เล็ก กลาง ใหญ่ }
ขนาด FreshJuiceSize;
-
คลาสสาธารณะ FreshJuiceTest {
โมฆะคงที่สาธารณะ main (String args []) {
น้ำผลไม้ FreshJuice = FreshJuice ใหม่ ();
Juice.size = FreshJuice.FreshJuiceSize.MEDIUM;
-
-
หมายเหตุ: การแจงนับสามารถประกาศเป็นรายบุคคลหรือภายในชั้นเรียนได้ เมธอด ตัวแปร และตัวสร้างสามารถกำหนดได้ในการแจกแจง
คำสงวนของ Java มีดังต่อไปนี้ คำสงวนเหล่านี้ไม่สามารถใช้ในชื่อของค่าคงที่ ตัวแปร และตัวระบุใดๆ
คำหลัก | อธิบาย |
---|---|
เชิงนามธรรม | วิธีการเชิงนามธรรม ตัวดัดแปลงคลาสนามธรรม |
ยืนยัน | ยืนยันว่าตรงตามเงื่อนไขหรือไม่ |
บูลีน | ชนิดข้อมูลบูลีน |
หยุดพัก | แยกออกจากส่วนโค้ดวงวนหรือป้ายกำกับ |
ไบต์ | ชนิดข้อมูลที่ลงนามแบบ 8 บิต |
กรณี | เงื่อนไขของคำสั่ง switch |
จับ | ใช้มันโดยพยายามรวบรวมข้อมูลข้อยกเว้น |
ถ่าน | ชนิดข้อมูลอักขระ Unicode 16 บิต |
ระดับ | กำหนดชั้นเรียน |
ค่าคงที่ | ไม่ได้ใช้ |
ดำเนินการต่อ | อย่าดำเนินการส่วนที่เหลือของตัวลูป |
ค่าเริ่มต้น | สาขาเริ่มต้นในคำสั่ง switch |
ทำ | คำสั่ง Loop ตัวลูปจะถูกดำเนินการอย่างน้อยหนึ่งครั้ง |
สองเท่า | หมายเลขจุดลอยตัวที่มีความแม่นยำสองเท่า 64 บิต |
อื่น | สาขาจะดำเนินการเมื่อเงื่อนไข if ไม่เป็นความจริง |
แจกแจง | ประเภทการแจงนับ |
ขยาย | บ่งชี้ว่าคลาสหนึ่งเป็นคลาสย่อยของคลาสอื่น |
สุดท้าย | บ่งชี้ว่าไม่สามารถเปลี่ยนแปลงค่าได้หลังจากการกำหนดค่าเริ่มต้น บ่งชี้ว่าวิธีการนี้ไม่สามารถแทนที่ได้ หรือคลาสไม่สามารถมีคลาสย่อยได้ |
ในที่สุด | ออกแบบมาเพื่อดำเนินการเรียกใช้โค้ดให้เสร็จสมบูรณ์ โดยหลักๆ เพื่อความคงทนและความสมบูรณ์ของโปรแกรม โค้ดจะถูกดำเนินการโดยไม่คำนึงว่าจะมีข้อยกเว้นเกิดขึ้นหรือไม่ |
ลอย | เลขทศนิยมความแม่นยำเดี่ยว 32 บิต |
สำหรับ | สำหรับคำสั่งลูป |
ข้ามไป | ไม่ได้ใช้ |
ถ้า | คำสั่งแบบมีเงื่อนไข |
ดำเนินการ | บ่งชี้ว่าคลาสใช้อินเทอร์เฟซ |
นำเข้า | นำเข้าคลาส |
อินสแตนซ์ของ | ทดสอบว่าวัตถุเป็นตัวอย่างของชั้นเรียนหรือไม่ |
ภายใน | จำนวนเต็ม 32 บิต |
อินเตอร์เฟซ | ส่วนต่อประสาน ซึ่งเป็นประเภทนามธรรมที่มีเพียงคำจำกัดความของวิธีการและค่าคงที่ |
ยาว | จำนวนเต็ม 64 บิต |
พื้นเมือง | วิธีการเป็นตัวแทนถูกนำมาใช้ในโค้ดที่ไม่ใช่ Java |
ใหม่ | จัดสรรอินสแตนซ์คลาสใหม่ |
บรรจุุภัณฑ์ | ชุดของคลาสที่เกี่ยวข้องกันเป็นแพ็คเกจ |
ส่วนตัว | ระบุฟิลด์ส่วนตัว วิธีการ ฯลฯ ซึ่งสามารถเข้าถึงได้จากภายในชั้นเรียนเท่านั้น |
ได้รับการคุ้มครอง | บ่งชี้ว่าฟิลด์สามารถเข้าถึงได้ผ่านคลาสหรือคลาสย่อยหรือคลาสอื่น ๆ ในแพ็คเกจเดียวกันเท่านั้น |
สาธารณะ | แสดงถึงคุณสมบัติหรือวิธีการทั่วไป |
กลับ | คืนค่าวิธีการ |
สั้น | 16 หลัก |
คงที่ | แสดงถึงบางสิ่งที่กำหนดไว้ในระดับชั้นเรียนและแบ่งปันโดยทุกอินสแตนซ์ |
เข้มงวดfp | การเปรียบเทียบจุดลอยตัวใช้กฎที่เข้มงวด |
สุด ๆ | แสดงถึงคลาสพื้นฐาน |
สวิตช์ | เลือกคำสั่ง |
ซิงโครไนซ์ | แสดงถึงบล็อกของโค้ดที่สามารถเข้าถึงได้ทีละเธรดเท่านั้น |
นี้ | บ่งชี้การเรียกอินสแตนซ์ปัจจุบันหรือการเรียกตัวสร้างอื่น |
โยน | โยนข้อยกเว้น |
พ่น | กำหนดข้อยกเว้นที่อาจถูกส่งออกโดยวิธีการ |
ชั่วคราว | แก้ไขฟิลด์ไม่ให้ซีเรียลไลซ์ |
พยายาม | บ่งชี้ว่าบล็อกโค้ดจำเป็นต้องจัดการกับข้อยกเว้นหรือร่วมมือกันในท้ายที่สุดเพื่อระบุว่าไม่ว่าจะมีข้อยกเว้นเกิดขึ้น รหัสในท้ายที่สุดก็จะถูกดำเนินการ |
เป็นโมฆะ | วิธีการทำเครื่องหมายไม่ส่งคืนค่าใด ๆ |
ระเหย | ช่องแท็กอาจเข้าถึงได้พร้อมกันโดยหลายเธรดโดยไม่มีการซิงโครไนซ์ |
ในขณะที่ | ในขณะที่วนซ้ำ |
เช่นเดียวกับ C/C++ Java ยังรองรับความคิดเห็นบรรทัดเดียวและหลายบรรทัด อักขระในความคิดเห็นจะถูกละเว้นโดยคอมไพเลอร์ Java
คลาสสาธารณะ MyFirstJavaProgram{
/* นี่เป็นโปรแกรม Java ตัวแรก *มันจะพิมพ์ Hello World
* นี่เป็นตัวอย่างความคิดเห็นแบบหลายบรรทัด */
โมฆะคงที่สาธารณะ main (สตริง [] args) {
// นี่คือตัวอย่างความคิดเห็นบรรทัดเดียว /* นี่คือตัวอย่างความคิดเห็นบรรทัดเดียวด้วย */
System.out.println("สวัสดีชาวโลก");
-
-
บรรทัดว่างหรือบรรทัดที่มีเฉพาะความคิดเห็นจะถูกละเว้นโดยคอมไพเลอร์ Java
ใน Java คลาสสามารถได้รับมาจากคลาสอื่น หากคุณกำลังสร้างคลาสและมีคลาสที่มีคุณสมบัติหรือวิธีการที่คุณต้องการอยู่แล้ว คุณสามารถสืบทอดคลาสที่สร้างขึ้นใหม่จากคลาสนั้นได้
การใช้การสืบทอดทำให้คุณสามารถใช้เมธอดและคุณสมบัติของคลาสที่มีอยู่ซ้ำได้โดยไม่ต้องเขียนโค้ดใหม่ คลาสที่สืบทอดมาเรียกว่าคลาสซุปเปอร์ และคลาสที่ได้รับมาเรียกว่าคลาสย่อย
ใน Java อินเทอร์เฟซสามารถเข้าใจได้ว่าเป็นโปรโตคอลสำหรับการสื่อสารระหว่างวัตถุ อินเทอร์เฟซมีบทบาทสำคัญในการสืบทอด
อินเทอร์เฟซกำหนดวิธีการที่จะใช้โดยคลาสที่ได้รับเท่านั้น แต่การใช้งานเฉพาะของวิธีการนั้นขึ้นอยู่กับคลาสที่ได้รับอย่างสมบูรณ์
ส่วนถัดไปจะแนะนำคลาสและอ็อบเจ็กต์ในการเขียนโปรแกรม Java หลังจากนั้นคุณจะมีความเข้าใจที่ชัดเจนยิ่งขึ้นเกี่ยวกับคลาสและอ็อบเจ็กต์ใน Java