- ควรเป็น
คำนาม(noun) - ขึ้นต้นด้วยอักษรตัวใหญ่
- ตัวอย่าง String, Color, Button, System, Thread
- ควรเป็น
คำคุณศัพท์(adjective) - ขึ้นต้นด้วยอักษรตัวใหญ่
- ตัวอย่าง Runnable, Remote, ActionListener
- ควรเป็น
คำกริยา(verb) - ขึ้นต้นด้วยตัวอักษรตัวเล็ก
- ตัวอย่าง actionPerformed(), main(), print(), println()
- ควรเป็นคำที่ขึ้นต้นด้วยตัวอักษรตัวเล็ก
- ตัวอย่าง firstName, orderNumber
- ควรเป็นคำที่ขึ้นต้นด้วยตัวอักษรตัวเล็ก
- ตัวอย่าง java, lang, sql, util
- ควรเป็นอักษรตัวใหญ่ทั้งหมด
- ตัวอย่าง RED, YELLOW, MAX_PRIORITY
- กำหนดสถานะ (state)
- กำหนดฟังก์ชันทำงาน (behavior)
- กำหนดไอดี (unique id) ผู้ใช้งานโดยทัวไปจะไม่เห็นค่าดังกล่าว (hashcode)
- ฟิลด์ (Field) เก็บสถานะการทำงาน
- เมธอร์ด (Method) ฟังก์ชันการทำงาน
- คอนทรัคเตอร์ (Constructor) เมธอร์ดที่มีชื่อเหมือนกันคลาส ใช้กำหนดค่าเริ่มต้นในการทำงาน
- ฺบล็อค (Block) บรรจุคำสั่งต่างๆ
- เนทส์ คลาส (Nested Class)
- อินเทอร์เฟซ (Interface)
การประกาศตัวแปรแบบ static สามารถลดการใช้งานเมมโมรีลงได้ ส่วนที่จะนำ static ไปใช้ได้ประกอบด้วย
- ตัวแปร (variable)
- เมธอร์ด (method)
- บล็อค (block)
- เนทส์ คลาส (Nested Class)
- ถูกประกาศไว้ในคลาส
- สามารถเรียกใช้งานโดยไม่ต้องสร้างออปเจ็คของคลาส
- เข้าถึงและเปลี่ยนค่าตัวแปรที่เป็น static ได้
- กำหนดค่าเริ่มต้นให้ตัวแปร
- ถูกเรียกในงานในขั้นตอนโหลดคลาส (ก่อนมีการเรียกใช้เมธอร์ด main)
public class Main{
static{
System.out.println("static block is invoked");
//System.exit(0);
}
static String str = "word";
public static void main(String[] args){
System.out.println(“Hello Java”);
System.out.println(Thread.currentThread().getName());
}
} สามารถรันโปรแกรมโดยไม่มีเมธอร์ด main ในเวอร์ชันก่อน JDK 7 โดยใช้ static block
class Main{
static{
System.out.println("static block is invoked");
System.exit(0);
}
} - อ้างอิงถึงอินสแตนซ์ของออปเจ็คที่งานอยู่ในปัจจุบัน
- เรียกเมธอร์ดของอินสแตนซ์ปัจจุบันที่ทำงานได้
- เมธอร์ด this() เป็นการเรียกใช้งานคอนตรัคเตอร์
- เรียกเมธอร์ด ผ่าน this สามารถใส่ค่าอากิวเมนต์
- เรียกคอนตรัคเตอร์ ผ่าน this สามารถใส่ค่าอากิวเมนต์
- รีเทิร์น this รีเทิร์นอินสแตนซ์ของออปเจ็คที่งานอยู่ในปัจจุบัน (pass by reference)
เป็นกลไกในการนำส่วนที่ซ้ำกันของโปรแกรมมาใช้งาน (reuse) ลดความซ้ำซ้อน
- เมธอร์ด โอเวอไรส์ (method overide)
- นำส่วนที่ซ้ำกันของโปรแกรมมาใช้งาน (reuse)
class Employee {
float salary=40000;
}
class Programmer extends Employee {
int bonus = 10000;
public static void main(String args[]){
Programmer p = new Programmer();
System.out.println("Programmer salary is:"+p.salary);
System.out.println("Bonus of Programmer is:"+p.bonus);
}
} ส่วนที่สามารถนำไปใช้งาน
- ตัวแปร (Variable)
- เมธอร์ด (Method)
- คลาส (Class)
- ไม่สามารถเปลี่ยนแปลงข้อมุลได้หลังจากมีกำหนดค่าเริ่มต้น
- การกำหนดค่าสามารถทำได้ผ่านคอนทรัคเตอร์
- ถ้าเป็นตัวแปรแบบ static สามารถกำหนดค่าได้ผ่าน static block
final int speedlimit=90; //final variable - ไม่สามารถ overide เมธอร์ด
//final method
final void run(){ System.out.println("running..."); } - ไม่สามารถสืบทอดคลาส ไปยังคลาสอื่น
//final class
pubilc final class Bike9{
}