i have 3 classes:
class classr {} class classa<t extends classr>{} class classb<e extends classa<t extends classr>> extends classa<t> { void foo(t param) { } void bar(e param) { } } the third class not compile unless change
class classb<e extends classa<t>, t extends classr> extends classa<t> { void foo(t bar) { } void bar(e param) { } } is there way keep e parameter need pass when creating classb, , t being inferred? example, convenient use:
new classb<classa<classr>>() instead of:
new classb<classa<classr>, classr>()
this simpler approach might work you:
class classr {} class classa<t extends classr>{} class classb<t extends classr> extends classa<t> { void foo(t bar) { } void bar(classa<t> param) { } } and usage bypasses reference classa become:
class subr extends classr {} classb<subr> obj = new classb<subr>();
Comments
Post a Comment