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

ความแตกต่างระหว่างคลาสนามธรรมและคลาสที่เป็นรูปธรรมใน Java


ใน Java นามธรรมสามารถทำได้โดยใช้คลาสนามธรรมและอินเทอร์เฟซ คลาสนามธรรมประกอบด้วยเมธอดนามธรรมซึ่งคลาสลูก ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่างคลาสนามธรรมและคลาสที่เป็นรูปธรรม

ซีเนียร์ เลขที่
Key
คลาสนามธรรม
คลาสคอนกรีต
1
วิธีการที่รองรับ
คลาสนามธรรมสามารถมีได้ทั้งวิธีนามธรรมและรูปธรรม
คลาสคอนกรีตสามารถมีได้เฉพาะวิธีที่เป็นรูปธรรมเท่านั้น แม้แต่วิธีการที่เป็นนามธรรมเพียงวิธีเดียวก็ทำให้คลาสเป็นนามธรรมได้
2
อินสแตนซ์
คลาสนามธรรมไม่สามารถสร้างอินสแตนซ์ได้โดยใช้คีย์เวิร์ดใหม่
คลาสคอนกรีตสามารถสร้างอินสแตนซ์ได้โดยใช้คีย์เวิร์ดใหม่
3
วิธีนามธรรม
คลาสนามธรรมอาจมีหรือไม่มีวิธีการที่เป็นนามธรรมก็ได้
คลาสคอนกรีตไม่สามารถมีวิธีการที่เป็นนามธรรมได้
4
รอบชิงชนะเลิศ
คลาสนามธรรมไม่สามารถประกาศเป็นคลาสสุดท้ายได้
ชั้นคอนกรีตสามารถประกาศขั้นสุดท้ายได้
5
คำหลัก
คลาสนามธรรมที่ประกาศโดยใช้คำสำคัญที่เป็นนามธรรม
คลาสคอนกรีตไม่มีคีย์เวิร์ดที่เป็นนามธรรมในระหว่างการประกาศ
6
การสืบทอด
คลาสนามธรรมสามารถสืบทอดคลาสอื่นโดยใช้คีย์เวิร์ดขยายและใช้งานอินเทอร์เฟซ
อินเทอร์เฟซสามารถสืบทอดได้เฉพาะอินเทอร์เฟซเท่านั้น
7
อินเทอร์เฟซ
คลาสนามธรรมไม่สามารถใช้อินเทอร์เฟซเพียงอย่างเดียวได้ จำเป็นต้องมีคลาสลูกเพื่อให้สามารถใช้อินเทอร์เฟซสำหรับการสร้างอินสแตนซ์ได้
อินเทอร์เฟซสามารถใช้งานได้ง่าย

ตัวอย่างคลาสนามธรรมกับคลาสคอนกรีต

JavaTester.java

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