Java 5.0 เพิ่มการรองรับประเภทการส่งคืน covariant นั่นคือเมื่อวิธีย่อย subclasses แทนที่ (เช่นการแทนที่) วิธีการคลาสพื้นฐานประเภทที่ส่งคืนอาจเป็นคลาสย่อยของประเภทวิธีการส่งคืนคลาสพื้นฐาน ประเภทผลตอบแทน covariant อนุญาตให้ส่งคืนประเภทที่เฉพาะเจาะจงมากขึ้น
โปรแกรมตัวอย่างมีดังนี้:
การคัดลอกรหัสมีดังนี้:
นำเข้า Java.io.ByTearrayInputStream;
นำเข้า Java.io.InputStream;
ฐานชั้นเรียน
-
// subclass derive จะแทนที่วิธีนี้และตั้งค่าประเภทการส่งคืนเป็นคลาสย่อยของ inputstream
Public InputStream getInput ()
-
ส่งคืน System.in;
-
-
ชั้นเรียนสาธารณะได้ขยายฐาน
-
@Override
Public ByteArrayInputStream getInput ()
-
ส่งคืน ByteArrayInputStream ใหม่ (BYTE ใหม่ [1024]);
-
โมฆะคงที่สาธารณะหลัก (สตริง [] args)
-
รับ d = new derive ();
System.out.println (d.getInput (). getClass ());
-
-
/*เอาต์พุตโปรแกรม:
คลาส java.io.bytearrayinputstream
-