[Java] keyword และสิทธิ์การเข้าถึงตัวแปร/เมธอด

static เป็นคีย์เวิร์ดที่จะทำให้ method หรือตัวแปร มีการจอง memory เพียงหนึ่งเดียวเท่านั้น เช่น ถ้าประกาศ Object หลายๆตัว ตัวแปร static ของแต่ละ Object จะถือว่าเป็นตัวเดียวกันทั้งหมด (ถ้าไม่ใช่ static ก็จะจองพื้นที่ใหม่สำหรับแต่ละ Object) ตัวแปรลักษณะนี้จะเหมาะสำหรับการประกาศแล้วใช้เหมือนกันในหลายๆ Class แต่ถ้าใช้เพียงไม่กี่ Class ก็จะทำให้เปลือง memory พอสมควร เพราะว่าปกติแล้วการเขียน Class จะเหมือนการบอกลอยๆว่าจะมีรายละเอียดอะไรบ้าง แต่จะยังไม่จอง memory จนกว่าจะมีการสร้าง Object แต่สำหรับ static แล้ว Class จะมีการจองพื้นที่ memory ไปก่อนด้วยทำให้เราสามารถเขียนในลักษณะ <ชื่อคลาส>.<ตัวแปร static> ได้

public static void main(String[] args)

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

final String homepage="home.jsp";

Access_Level อันนี้เป็นระดับการเข้าถึงครับ มี 3 ชนิดก็คือ
private สามารถใช้งานได้ในคลาสเท่านั้น
protected สามารถใช้ได้ภายในคลาสที่มีวงศ์ตระกูลเดียวกัน (สืบทอด)
public ใช้งานได้แบบสาธารณะ (ไม่มีข้อจำกัด)

สำหรับ Access_Level นี้เราจะเห็นบ่อยสำหรับภาษา Java ไม่ว่าจะเป็นการเขียน Function การเขียน Class หรือว่าการประกาศตัวแปรของ Class หลายคนอาจสงสัยว่าทำไม Class ต้องระบุด้วย สิ่งหนึ่งที่ผมสังเกตได้คือ การสืบทอด เนื่องจาก Java ใช้คำสั่ง extends สำหรับการสืบทอดโดยไม่ต้องระบุการเข้าถึงตอนสืบทอดเหมือนภาษา C++



ข้อมูลจาก:
http://www.itmelody.com/tu/javastructure.html
http://code.function.in.th/java/oop

Facebook Comment

Popular post of 7 days

[Android] เปิดเครื่องไม่ได้ โลโก้ค้าง (Boot Loop)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ