Java นามธรรมคำสำคัญ
ตัวอย่าง
abstract
เมธอดเป็นของคลาสabstract
และไม่มีเนื้อหา ร่างกายจัดทำโดยคลาสย่อย:
// Code from filename: Main.java
// abstract class
abstract class Main {
public String fname = "John";
public int age = 24;
public abstract void study(); // abstract method
}
// Subclass (inherit from Main)
class Student extends Main {
public int graduationYear = 2018;
public void study() { // the body of the abstract method is provided here
System.out.println("Studying all day long");
}
}
// End code from filename: Main.java
// Code from filename: Second.java
class Second {
public static void main(String[] args) {
// create an object of the Student class (which inherits attributes and methods from Main)
Student myObj = new Student();
System.out.println("Name: " + myObj.fname);
System.out.println("Age: " + myObj.age);
System.out.println("Graduation Year: " + myObj.graduationYear);
myObj.study(); // call abstract method
}
}
ความหมายและการใช้งาน
คีย์เวิร์ด คือabstract
non-access modifier ใช้สำหรับคลาสและเมธอด
คลาส: คลาสนามธรรมเป็นคลาสที่ถูกจำกัดซึ่งไม่สามารถใช้สร้างอ็อบเจกต์ได้ (หากต้องการเข้าถึง คลาสนั้นต้องสืบทอดมาจากคลาสอื่น)
เมธอด:เมธอด abstract สามารถใช้ได้ในคลาส abstract เท่านั้น และไม่มีเนื้อหา ร่างกายมีให้โดยคลาสย่อย (สืบทอดมาจาก)
หน้าที่เกี่ยวข้อง
อ่านเพิ่มเติมเกี่ยวกับตัวดัดแปลงใน บทช่วย สอน Java Modifiersของ เรา