คำหลัก ขยาย และ การดำเนินการ ทั้งสองใช้เพื่อดำเนินการตามแนวคิดการสืบทอดของ แต่มีความแตกต่างเล็กน้อยระหว่างพวกเขา บทความเกี่ยวกับการขยายและการใช้งานใน Java นี้จะช่วยให้คุณเข้าใจความแตกต่างที่สำคัญระหว่างคำหลักเหล่านี้
หัวข้อที่กล่าวถึงในบทความนี้ ได้แก่ :
เพื่อทำความเข้าใจไฟล์ความแตกต่างระหว่างการขยายและการดำเนินการคุณต้องเรียนรู้และเข้าใจไฟล์ ความแตกต่างระหว่าง คลาสนามธรรมและส่วนต่อประสาน ใน Java
ขยายคำหลัก
เมื่อคลาสย่อยขยายอีก ชั้นเรียน อนุญาตให้คลาสย่อยสืบทอด (เช่นใช้ซ้ำ) และแทนที่โค้ดที่กำหนดไว้ในซุปเปอร์ไทป์ กล่าวง่ายๆคือการใช้คำหลักขยายคลาสที่สร้างขึ้นใหม่ (คลาสย่อย) สามารถสืบทอดคุณสมบัติของคลาสที่มีอยู่ (คลาสระดับสูง) ได้ นอกจากนี้ยังสามารถแทนที่ กำหนดไว้ในซูเปอร์คลาส คลาสไม่สามารถขยาย superclass ได้มากกว่าหนึ่งคลาสใน Javaนี่คือไฟล์ แสดงคลาสนามธรรม:
package MyPackage คลาส A {String s A (String s1) {s = s1} void display () {System.out.println (s)}} class B ขยาย A {String l B (String s1, String s2) {super ( s1) l = s2} void display () {super.display () System.out.println (l)}} class ExtendsExample {public static void main (String args []) {A ob = new B ('Welcome', 'ถึง Edureka') ob.display ()}}
เอาท์พุต: ยินดีต้อนรับ
ถึง Edureka
คำอธิบาย: ในโค้ดด้านบนคุณสามารถสังเกตได้ว่าคลาส B ได้ขยายคลาส A มันมีการเข้าถึงเมธอด display () และได้ลบล้างเมธอด display () ที่กำหนดไว้ในคลาส A พลังอันยิ่งใหญ่นี้มาจากการใช้คีย์เวิร์ดขยาย
ใช้คำหลัก
เมื่อเรียนดำเนินการอินเทอร์เฟซจะต้องมีการใช้งานวิธีการทั้งหมดที่ประกาศไว้ในไฟล์ อินเตอร์เฟซ . หากชั้นเรียนไม่ต้องการให้มีการใช้งานก็สามารถประกาศตัวเองว่าเป็น ชั้นนามธรรม . นอกจากนี้อินเทอร์เฟซไม่สามารถใช้อินเทอร์เฟซอื่นได้เนื่องจากการใช้งานหมายถึงการกำหนดวิธีการและอินเทอร์เฟซมักจะมีวิธีการที่เป็นนามธรรมดังนั้นอินเทอร์เฟซจึงไม่สามารถใช้อินเทอร์เฟซอื่นได้นี่คือตัวอย่างโปรแกรมที่แสดงให้เห็นถึงคลาสนามธรรม:
package MyPackage interface XYZ {void display (String s) void show (int i)} class Demo ใช้ XYZ {public void show (int i) {System.out.println ('integer value:' + i)} การแสดงโมฆะสาธารณะ ( สตริง s) {System.out.println ('string value:' + s)}} class ImplementExample {public static void main (String args []) {XYZ d = new Demo () d.display ('TechDifferences') d .show (2)}}
เอาท์พุต:
ค่าสตริง: TechDifferences ค่าจำนวนเต็ม: 2
ในโค้ดด้านบนคุณสามารถสังเกตได้ว่าคลาส Demoใช้สองวิธีที่ประกาศในอินเทอร์เฟซ XYZ
จากเนื้อหาข้างต้นคุณอาจสังเกตเห็นความแตกต่างที่สำคัญระหว่างการขยายและการดำเนินการใน . ตอนนี้เรามาดูความแตกต่างอื่น ๆ กัน
ขยายเทียบกับการดำเนินการ
ตารางด้านล่างแสดงความแตกต่างที่สำคัญระหว่างคำหลักที่ขยายและการดำเนินการ
คุณสมบัติการเปรียบเทียบ | ขยาย | การดำเนินการ |
การนำไปใช้ | คลาสสามารถสืบทอดคลาสอื่นหรืออินเทอร์เฟซสามารถสืบทอดอินเตอร์เฟสอื่นโดยใช้คีย์เวิร์ดขยาย | คลาสสามารถใช้อินเทอร์เฟซโดยใช้การใช้คีย์เวิร์ด |
วิธี | คลาสย่อยที่ขยายคลาสซูเปอร์คลาสอาจหรือไม่แทนที่เมธอดทั้งหมดในซูเปอร์คลาส | คลาสที่ใช้อินเทอร์เฟซต้องใช้วิธีการทั้งหมดของอินเทอร์เฟซนั้น |
คลาส | คลาสสามารถขยายคลาสซูเปอร์คลาสได้เพียงคลาสเดียว วิธีการแยกวิเคราะห์ไฟล์ xml ใน java | คลาสสามารถใช้อินเทอร์เฟซจำนวนเท่าใดก็ได้ในเวลาเดียวกัน |
อินเตอร์เฟซ | อินเทอร์เฟซสามารถขยายอินเทอร์เฟซจำนวนเท่าใดก็ได้ | อินเทอร์เฟซไม่สามารถใช้อินเทอร์เฟซอื่น ๆ ได้ |
ตอนนี้คุณคือความแตกต่างที่สำคัญระหว่างการขยายและการใช้งานใน
สิ่งนี้ทำให้เรามาถึงจุดสิ้นสุดของสิ่งนี้ขยายเทียบกับการใช้งานในบทความ Java เราได้ตรวจสอบความแตกต่างที่สำคัญระหว่างการขยายและการใช้คำหลัก สรุปได้ว่าทั้งสองใช้เพื่อดำเนินการแนวคิดการสืบทอดของ Java แต่แตกต่างกัน
ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์
ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก เราพร้อมที่จะช่วยเหลือคุณในทุกขั้นตอนในการเดินทางของคุณสำหรับการเป็นนอกเหนือจากคำถามสัมภาษณ์ java นี้เรามาพร้อมกับหลักสูตรที่ออกแบบมาสำหรับนักเรียนและมืออาชีพที่ต้องการเป็น Java Developer
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ 'ขยายเทียบกับการใช้งานใน Java' และเราจะติดต่อกลับโดยเร็วที่สุด