يضيف Java 5.0 دعمًا لأنواع الإرجاع المتغير ، أي عندما تتجاوز الفئات الفرعية طرق الفئة الأساسية (أي تجاوز) ، يمكن أن يكون النوع الذي تم إرجاعه فئة فرعية لنوع إرجاع طريقة الفئة الأساسية. يسمح نوع الإرجاع المتغير بإعادة نوع أكثر تحديدًا.
برنامج العينة كما يلي:
نسخة الكود كما يلي:
استيراد java.io.bytearrayinputstream ؛
استيراد java.io.inputstream ؛
قاعدة الطبقة
{
// الفئة الفرعية المشتقة ستجاوز هذه الطريقة وتعيين نوع الإرجاع على فئة فرعية من inputStream
Public InportStream GetInput ()
{
نظام الإرجاع.
}
}
يشتق الطبقة العامة يمتد القاعدة
{
@تجاوز
BYTEARRAYINPUTSTREAM GETINPUT () العامة
{
إرجاع BytearRayInputStream جديد (بايت جديد [1024]) ؛
}
الفراغ الثابت العام (سلسلة [] args)
{
اشتقاق d = جديد derive () ؛
System.out.println (D.GetInput (). getClass ()) ؛
}
}
/*إخراج البرنامج:
فئة java.io.bytearrayinputstream
*/