ใน Java abstraction ทำได้ด้วย Abstract classes และ interfaces Abstract class มี abstract methods ที่ child class ต้อง implement
| ลำดับ | หัวข้อ | Abstract Class | Concrete Class |
|---|---|---|---|
| 1 | Supported Methods | มี abstract และ concrete methods ได้ | มีแค่ concrete methods (มี abstract แค่ 1 ตัวก็ทำให้ class กลายเป็น abstract) |
| 2 | Instantiation | new ไม่ได้ | new ได้ |
| 3 | Abstract Method | อาจมีหรือไม่มี abstract methods | ไม่สามารถมี abstract method ได้ |
| 4 | Final | final ไม่ได้ | final ได้ |
| 5 | Keyword | abstract | ไม่มี abstract keyword |
| 6 | Inheritance | extends class และ implements interface | (ข้อมูลในตารางเดิมผิด - concrete class extends class/implements interface ได้) |
| 7 | Interface | implement interface ต้องมี child class เพื่อ instantiate | implement interface ได้โดยตรง |
ตัวอย่าง
public class JavaTester {
public static void main(String args[]) {
Cat lion = new Lion();
lion.eat();
}
}
abstract class Cat {
abstract public void eat();
}
class Lion extends Cat {
public void eat() {
System.out.println("Lion eats");
}
}
ผลลัพธ์
Lion eats