[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

Recent Posts

Popular post of 7 days

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

Portal คืออะไรกันนะ???

Port Forwarding สำหรับคนใช้ AIS Fibre

Popular

Portal คืออะไรกันนะ???

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

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

เรื่องของ ++i กับ i++

Port Forwarding สำหรับคนใช้ AIS Fibre

วิธีการสมัคร Apple Developer Program และ Enterprise Program ฉบับลงมือเอง

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

ทดสอบ Mobile App แบบ Automated ด้วย Appium ทำยังไงกันนะ

Deeplink, Universal Links คืออะไร ทำงานร่วมกับ Mobile App ได้ยังไง

Android Auto & Apple Carplay คืออะไร ใช้งานยังไง