Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่าง Abstract Class และ Concrete Class ใน Java

ใน 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