ตัวอย่างโค้ดที่ยังไม่ใช้ abstract
package myPackage; class Abs1 { void g() { System.out.println("g"); } } class Abs2 extends Abs1 { } public class AbstractClass { public static void main(String[] args) { new Abs2().g(); } }
ผลการทำงาน
g
ทีนี้หากเราต้องการกำหนดว่า ให้คลาสใดๆ ก็ตามที่สืบทอดไปจาก Abs1 ต้องสร้าง method g() และให้มันทำงานได้ เราก็วาง abstract ไว้ข้างหน้าดังนี้
package myPackage; abstract class Abs1 { abstract void g(); } class Abs2 extends Abs1 { } public class AbstractClass { public static void main(String[] args) { new Abs2().g(); } }
ผลการทำงาน
Exception in thread "main" java.lang.ExceptionInInitializerError
at myPackage.AbstractClass.main(AbstractClass.java:14)
Caused by: java.lang.RuntimeException: Uncompilable source code - myPackage.Abs1 is not abstract and does not override abstract method g() in myPackage.Abs1
at myPackage.Abs1.<clinit>(AbstractClass.java:4)
... 1 more
ที่มัน error เพราะว่าเราไม่ได้ทำการสร้าง g() ในคลาสลูก ให้ทำการเพิ่มเติมโค้ดอีกดังนี้
package myPackage; abstract class Abs1 { abstract void g(); } class Abs2 extends Abs1 { void g() { System.out.println("Abs2 g method"); } } public class AbstractClass { public static void main(String[] args) { new Abs2().g(); } }
ผลการทำงาน
Abs2 g method
1 ความคิดเห็น:
ship hỏa tốc đi Somaliland
chuyển phát nhanh đi Rwanda
chuyển phát nhanh tới Eswatini
แสดงความคิดเห็น