1. คลาส (class)
1.1. class คือ
1.1.1. เป็นต้นแบบของ object ที่เป็นตัวกำหนดคุณสมบัติและความสามารถพื้นฐานที่ทุกๆ object ต้องมี
1.2. การสร้าง class
1.2.1. [รูปแบบการเข้าถึง] class ชื่อคลาส { [การประกาศแอตทริบิวต์] [การประกาศเมธอด] }
1.3. ประเภทของ class
1.3.1. Abstract Class
1.3.1.1. เมื่อประกาศคลาส ให้เขียนคำว่า abstract ไว้ข้างหน้าคลาส
1.3.1.2. ไม่สามารถนำไปสร้าง object ได้
1.3.1.3. มีอย่างน้อยหนึ่งเมธอดที่ถูกประกาศให้เป็น abstract
1.3.1.4. ทำหน้าที่กำหนดคุณสมบัติเบื้องต้นให้คลาสอื่นสืบทอดและสร้างเมธอดที่เป็น abstract ให้สมบูรณ์
1.3.2. Concrete Class
1.3.2.1. คือคลาสที่ไม่ใช่ abstract
1.3.3. Final Class
1.3.3.1. เมื่อประกาศ ให้เขียนคำว่า final ไว้ข้างหน้าคลาส
1.3.3.2. คลาสที่เป็น abstract ไม่สามารถประกาศให้เป็น final ได้
1.3.3.3. ไม่สามารถสืบทอดคุณสมบัติไปยังคลาสอื่นได้
1.4. คุณสมบัติการสืบทอด (Inheritance)
1.4.1. คลาสที่เป็นต้นแบบการสืบทอดจะเรียกว่า คลาสแม่หรือ SuperClass
1.4.2. คลาสที่สืบทอดมาจาก SuperClass เรียกว่า คลาสลูกหรือ SubClass
1.4.3. SubClass สามารถเพิ่มแอตทริบิวต์และเมธอดใหม่ได้อีก
1.4.4. การสืบทอดคุณสมบัติระหว่างคลาสสามารถทำได้หลายชั้น เรียกว่า Class Hierarchy
1.4.5. รูปแบบการสืบทอดคลาส
1.4.5.1. class ชื่อคลาสลูก extends ชื่อคลาสแม่ { }
2. คุณสมบัติเฉพาะตัว (Attribute)
2.1. Attribute คือ
2.1.1. เป็นคุณสมบัติต่างๆ ของคลาส
2.2. การประกาศ attribute
2.2.1. [รูปแบบการเข้าถึง] ชนิดข้อมูล ชื่อแอดทริบิวต์ ;
3. เมธอด (Method)
3.1. Method คือ
3.1.1. เป็นความสามารถต่างๆ ของคลาส
3.2. การประกาศ method
3.2.1. [รูปแบบการเข้าถึง] ชนิดข้อมูลที่ส่งกลีับ ชื่อเมธอด (ข้อมูลที่รับเข้ามา) { ชุดคำสั่ง ; }
3.3. ประเภทของ method
3.3.1. Instance Method หรือ Non - static Method
3.3.1.1. ใช้กับ object เีรียกใช้เมธอดผ่านออบเจ็กต์แต่ละตัว
3.3.1.2. เมื่อถูกเรียกใช้ จะเกี่ยวข้องกับพฤติกรรมของออบเจ็กต์แต่ละตัว ไม่เกี่ยวข้องกับคลาสที่เป็นแม่แบบของออบเจ็กต์เหล่านี้
3.3.2. Static Method
3.3.2.1. ใช้กับคลาส
3.3.2.2. เมื่อถูกเรียกใช้จะเกี่ยวข้องกับพฤติกรรมของคลาส ไม่เกี่ยวข้องกับออบเจ็กต์แต่ละตัวที่สร้างจากคลาสนี้
3.3.3. Constructor Method
3.3.3.1. รู้จักกับ Constructor
3.3.3.1.1. เป็นเมธอดแบบหนึ่งที่มีชื่อเมธอดเป็นชื่อเดียวกันกับชื่อคลาส
3.3.3.1.2. เป็นเมธอดที่ทำงานเป็นเมธอดแรกเมื่อมีการสร้างออบเจ็กต์
3.3.3.2. การสร้างและใช้งาน Constructor
3.3.3.2.1. Constructor ต้องมีชื่อเดียวกันกับคลาส
3.3.3.2.2. Constructor จะต้องไม่มีการส่งค่ากลับ และไม่มีคีร์เวิร์ด void
3.3.3.2.3. Constructor สามารถมีคุณสมบัติของ Overloading ได้
3.3.4. Overloading Method
3.3.4.1. คือเมธอดหลายๆ เมธอดที่มีชื่อเดียวกัน แต่จะต่างกันที่ชนิดข้อมูลหรือจำนวนอาร์กิวเมนต์ที่ต่างกัน
3.3.5. Overriding Method
3.3.5.1. คือเมธอดของ SubClass ที่มีชื่อและรายการของอาร์กิวเมนต์เหมือนกับเมธอดที่มีอยู่ใน SuperClass
4. วัตถุ (Object)
4.1. การสร้าง Object
4.1.1. ชื่อคลาส ชื่อออบเจ็กต์ ; ชื่อออบเจ็กต์ = new ชื่อคลาส (รายการอาร์กิวเมนต์);