เมื่อเราสร้างคลาสขึ้นมาเราจะได้ไฟล์ขึ้นมาหนึ่งไฟล์เป็นไฟล์ที่มีนามสกุล .java ลักษณะของโปรแกรมที่เราเขียนในไฟล์จะแบ่งออกเป็นบล็อกซึ่งแต่ละบล็อกจะห่อหุ้มด้วยอักขระ {  } โดยบล็อกของคลาสจะเป็นบล็อกใหญ่สุด ภายในบล็อกของคลาสจะประกอบไปด้วยบล็อกของเมธอด ภายในบล็อกของเมธอดจะประกอบไปด้วยบล๊อคของประโยคคำสั่งแบบมีเงื่อนไขและประโยคคำสั่ง และแต่ละประโยคคำสั่งจะประกอบไปด้วย คีย์เวิร์ด ชนิดของข้อมูล ตัวแปร ตัวดำเนินการ และข้อมูล ทั้งนี้ขึ้นอยู่กับชนิดของประโยคคำสั่ง

     การประกาศว่าบล็อกใดทำหน้าที่อะไรจะประกาศอยู่ด้านหน้าบล็อก เราจะใช้รูปภาพด้านล่างในการทำความเข้าใจเรื่องบล็อกโดยใช้ลูกศรที่มีสีแตกต่างกันชี้ไปที่อักขระ { ซึ่งเป็นจุดเริ่มต้นของบล็อก และอักขระ } ซึ่งเป็นจุดสิ้นสุดของบล็อกนั้นๆ

     เริ่มจากลูกศรสีแดงจะเป็นบล็อกของคลาส ซึ่งด้านหน้าของบล็อกจะมีคำสั่งที่บอกให้สร้างคลาสขึ้นมา     

     ลูกศรสีเขียว สีน้ำเงิน สีม่วง จะเป็นบล็อกของเมธอด ซึ่งด้านหน้าของบล็อกจะมีคำสั่งที่บอกให้สร้างเมธอดขึ้นมา     

     ลูกศรสีเหลืองและสีดำเป็นบล็อกของประโยคคำสั่งแบบมีเงื่อนไข เช่น ลูกศรสีเหลืองเป็นบล็อกของประโยคคำสั่ง if ส่วนลูกศรสีดำเป็นเป็นบล็อกของประโยคคำสั่ง else 

     และภายในบล็อกจะประกอบไปด้วยประโยคคำสั่ง ซึ่งแต่ละประโยคคำสั่งจะต้องปิดท้ายด้วยอักขระ ; เสมอ

     การมองส่วนของโปรแกรมเป็นบล็อกจะช่วยให้เราเข้าใจเรื่องอื่นๆต่อไปได้ง่ายขึ้น เช่น เรื่องขอบเขตการใช้งานของตัวแปรหรือฟิลด์ เป็นต้น

    เมื่อเราพอจะมองเห็นภาพว่าโครงสร้างของภาษาจาวาแบ่งโปรแกรมออกเป็นส่วนๆอย่างไร ในบทต่อๆไปเราจะมาทำความเข้าใจในรายละเอียดของแต่ละส่วนโดยเริ่มจากส่วนย่อยที่สุดคือ ข้อมูล และไล่เรียงไปจนถึง คลาส เพื่อให้เห็นการนำแต่ละส่วนมาประกอบกันเป็นโปรแกรมที่สมบูรณ์

คีย์เวิร์ดในภาษาจาวา

     คีย์เวิร์ดคือคำที่ถูกสงวนไว้ใช้ในภาษาจาวา คีย์เวิร์ดประกอบด้วย abstract assert boolean break byte cacse catch char class const continue default do double else enum extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile และ while 

     เราไม่สามารถเอาคีย์เวิร์ดไปตั้งเป็นชื่อคลาส ชื่อเมธอด ชื่อของตัวแปรหรือชื่อฟิลด์ คีย์เวิร์ดบางคำเป็นคำสั่งในการเขียนโปรแกรม เช่น if else for while switch case คีย์เวิร์ดบางคำเป็นชนิดของข้อมูล เช่น int double float boolean byte char long คีย์เวิร์ดบางคำเป็นชนิดของตัวควบคุมการเข้าถึง (access modifier) คือ public private protected

     ตัวอักษรใหญ่หรือเล็กในภาษาจาวามีความสำคัญ (case sensitive) เช่น public และ Public และ PUBLIC เป็นคนละคำกัน ไม่เฉพาะแต่คีย์เวิร์ดแต่รวมถึงการตั้งชื่อต่างๆในการเขียนโปรแกรม ดังนั้นตั้งชื่ออย่างไรต้องเรียกใช้งานด้วยชื่อนั้นอย่างถูกต้องทุกตัวอักษร

คีย์เวิร์ดควบคุมการเข้าถึง

     ในภาษาจาวาเราควบคุมการเข้าถึงหรือควบคุมการถูกเรียกใช้งานของคลาส เมธอด หรือฟิลด์ ได้โดยการกำหนดคีย์เวิร์ดควบคุมการเข้าถึง (access modifier) ที่ คลาส เมธอด และฟิลด์ โดยคีย์เวิร์ดควบคุมการเข้าถึงมี 3 ชนิดคือ 

  • public – ยอมให้คลาสอื่นเรียกใช้งาน
  • private – ยอมให้เรียกใช้งานจากภายในคลาสเดียวกันเท่านั้น
  • protected – ยอมให้เรียกใช้งานโดยคลาสในแพคเกจเดียวกันและคลาสลูกที่อยู่ต่างแพคเกจเท่านั้น

     การควบคุมการเข้าถึงจะมีประโยชน์ทั้งในด้านความปลอดภัยและความยืดหยุ่นในการใช้งานโปรแกรมซึ่งเราจะได้เรียนรู้เพิ่มเติมในหัวข้อคุณสมบัติการห่อหุ้ม (encapsulation) ซึ่งเป็นหนึ่งในคุณสมบัติของการเขียนโปรแกรมเชิงวัตถุ

      อย่างไรก็ตามมีข้อกำหนดย่อยๆในหลักภาษาของภาษาจาวาเกี่ยวกับการใช้คีย์เวิร์ดควบคุมการเข้าถึง ดังนั้นในกรณีที่เราใช้คีย์เวิร์ดควบคุมการเข้าถึงผิดไปจากที่กำหนดในหลักภาษาของภาษาจาวา โปรแกรม IntelliJ IDEA จะแจ้งข้อผิดพลาดให้เราทราบ

คอมเมนท์

     ก่อนที่จะลงรายละเอียดของแต่ละส่วนประกอบขอกล่าวถึงคอมเมนท์ก่อน เพราะคอมเมนท์เป็นสิ่งที่จำเป็นและควรทำให้เป็นนิสัยในการเขียนโปรแกรม เพื่อที่ผู้อื่นหรือแม้แต่ตัวเราเองเมื่อกลับมาอ่านโปรแกรมในภายหลังจะได้เข้าใจวัตถุประสงค์ในการเขียนโปรแกรม 

     คอมเมนท์ (comment) คือข้อความที่ไม่ถูกนำไปคอมไพล์ คอมเมนท์มีไว้เพื่อช่วยให้เข้าใจวัตถุประสงค์และการทำงานของโปรแกรมแกรมได้ง่ายขึ้น

     คอมเมนท์ในภาษาจาวามี 3 รูปแบบคือ คอมเมนท์ในบรรทัด คอมเมนท์แบบหลายบรรทัด และ คอมเมนท์แบบหลายบรรทัดที่รองรับการทำ Java Doc 

     คอมเมนท์ในบรรทัดคือข้อความที่ขึ้นต้นด้วยอักขระ // โดยคอมเมนท์จะยาวไปจนจบบรรทัด ตัวอย่างเช่น

     คอมเมนท์แบบหลายบรรทัดคือกลุ่มของบรรทัดที่ขึ้นต้นบรรทัดแรกด้วยอักขระ /* และปิดท้ายบรรทัดสุดท้ายด้วยอักขระ */  ตัวอย่างเช่น

     คอมเมนท์แบบหลายบรรทัดที่รองรับการทำ Java Doc คือกลุ่มของบรรทัดที่ขึ้นต้นบรรทัดแรกด้วยอักขระ /** และปิดท้ายบรรทัดสุดท้ายด้วยอักขระ */ โดยสามารถกำหนดรูปแบบของข้อมูลเพื่อประโยชน์ในการแสดงผลในรูปแบบของ java document  เช่น @author @version @since เป็นต้น ตัวอย่างเช่น

การเรียกใช้งานฟิลด์และเมธอด

     เพื่อให้เข้าใจตัวอย่างโปรแกรมในบทเรียนต่อๆไปได้ง่ายขึ้น เราจะทำความเข้าใจรูปแบบในการเรียกใช้งานเมธอดและฟิลด์ของวัตถุในภาษาจาวา

     เราเรียนรู้ในเบื้องต้นแล้วว่าในการเขียนโปรแกรมเป็นการเขียนคลาสหรือแผนผังของออบเจกต์ที่ต้องการสร้างขึ้นมา จากนั้นในการใช้งานโปรแกรมเราจะสร้างออบเจกต์จากคลาสขึ้นมาเพื่อใช้งาน เวลาที่เราเรียกใช้งานจะใช้งานผ่านทางเมธอดหรือฟิลด์ของออบเจกต์ แต่ในการสร้างคลาสและเมธอดนั้นเราสามารถสร้างคลาสและเมธอดที่เป็นแบบ static ซึ่งไม่จำเป็นต้องสร้างออบเจกต์ขึ้นมาเพื่อใช้งาน ตัวอย่างสำหรับการใช้งานแบบที่ไม่ต้องสร้างออบเจกต์ เช่น เมธอด System.out.printIn() ซึ่ง System เป็นคลาสอยู่ใน Java API 

     สำหรับแบบที่ต้องสร้างออบเจกต์เราจะต้องประกาศตัวแปรมาเก็บออบเจกต์ที่ถูกสร้างขึ้นมาและเรียกใช้งานผ่านตัวแปร ตัวอย่างเช่น สร้างออบเจกต์จากคลาส ExampleClass แล้วเก็บที่ตัวแปร o จากนั้นในการเรียกใช้งานจะอ้างอิงผ่านตัวแปร เช่น o.method() 

     ในการเรียกใช้งานเมธอดหรือฟิลด์จะตั้งต้นจากชื่อคลาสหรือชื่อตัวแปรแล้วแต่ว่าเป็นการใช้งานแบบที่ต้องสร้างหรือไม่ต้องสร้างออบเจกต์ ตามด้วยเครื่องหมาย .  และต่อด้วยชื่อเมธอดหรือฟิลด์ เช่น

     System.out.println() เป็นการเรียกใช้งานเมธอด println โดยตั้งต้นคำสั่งด้วยชื่อคลาสเพราะเป็นการเรียกใช้แบบไม่ต้องสร้างออบเจกต์ หรือ o.printText() เป็นการเรียกใช้งานเมธอด printText โดยตั้งต้นคำสั่งด้วยชื่อตัวแปรเพราะเป็นการเรียกใช้แบบที่ต้องสร้างออบเจกต์ จากตัวอย่างด้านล่างเป็นการสร้างคลาส ExampleClass เพื่อเป็นแผนผังของการสร้างออบเจกต์เพื่อเก็บข้อความและมีเมธอดสำหรับพิมพ์ข้อความ จากนั้นในเมธอด main เราสั่งพิมพ์ข้อความ Hello Word โดยใช้คลาส System และคลาส ExampleClass ซึ่งจะได้ผลลัพธ์เหมือนกัน สำหรับการเรียกใช้งานฟิลด์ก็จะมีรูปแบบเช่นเดียวกับการเรียกใช้งานเมธอด