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

ในขณะที่การแทนที่คลาสย่อยสามารถเลือกที่จะไม่ส่งข้อยกเว้นใน java ได้หรือไม่?


หากเมธอด super-class ส่งข้อยกเว้นบางอย่างออกไป คุณสามารถแทนที่ได้โดยไม่มีข้อยกเว้น

ตัวอย่าง

ในตัวอย่างต่อไปนี้ เมธอด sampleMethod() ของ super-class ส่งข้อยกเว้น FileNotFoundException และเมธอด sampleMethod() จะไม่ส่งข้อยกเว้นใดๆ เลย โปรแกรมนี้ยังคงได้รับการคอมไพล์และดำเนินการโดยไม่มีข้อผิดพลาด

<ก่อน> นำเข้า java.io.File; นำเข้า java.io.FileNotFoundException; นำเข้า java.io.IOException; นำเข้า java.util.Scanner; คลาสนามธรรม Super { โมฆะสาธารณะ sampleMethod () โยน FileNotFoundException { System.out.println (" วิธีการของซูเปอร์คลาส"); }} คลาสสาธารณะ ExceptionsExample ขยาย Super { โมฆะสาธารณะ sampleMethod () { System.out.println ("วิธีการของคลาสย่อย"); } โมฆะคงที่สาธารณะหลัก (สตริง args []) { ExceptionsExample obj =ExceptionsExample ใหม่ (); obj.sampleMethod(); }}

ผลลัพธ์

วิธีการของคลาสย่อย