superclasses in generic classes in java -


this first time here, best describe problem:

i have abstract class a. have abstract classes b , c extending a. have classes extending b or c.

now have generic class accepting classes extending a. (class xyz<abc extends a>…)

now want create method works generic class, instances use class extending b.

i tried this:

public void method(xyz<b> t){} 

this sadly didn't work. ide wanted me have either type of t or other way around.

now questions:
why not work? seems wouldn't cause problems, because subclass has provide methods superclass.
there way around except of making method every single subclass of b or changing type of object want use?

example code:

public class main {  public static void main(string[] args) {     arraylist<abc> foo = new arraylist<>();     xyz(foo); } private void xyz(arraylist<b> abs){}   private static abstract class  a{} private static abstract class  b extends a{} private static abstract class  c extends a{} private static class abc extends b{} } 

try this:

public class main {      public static void main(string[] args) {         arraylist<abc> foo = new arraylist<>();         xyz(foo);     }      private static <t extends b> void xyz(arraylist<t> abs){         system.out.print("running xyz");     }       private static abstract class  a{}     private static abstract class  b extends a{}     private static abstract class  c extends a{}     private static class abc extends b{} } 

seems aiming for. take here more information.


Popular posts from this blog

php - How should I create my API for mobile applications (Needs Authentication) -

5 Reasons to Blog Anonymously (and 5 Reasons Not To)

Google AdWords and AdSense - A Dynamic Small Business Marketing Duo