标签:实现 cannot 多态 while 安全 元素 长度 new aaa
1 public class ArrayList<E>{ 2 public boolean add<E e>{} 3 public E get(int num){} 4 }
ArrayList<String> list=new ArrayList<String>();
1 public class ArrayList<String>{ 2 public boolean add<String e>{} 3 public String get(int num){} 4 }
1 ArrayList list1=new ArrayList(); 2 list1.add("aaa"); 3 list1.add(11); 4 Iterator it=list1.iterator(); 5 while(it.hasNext){ //这里使用了迭代器,下面会讲迭代器 6 Object obj=it.next();System.out.println(obj); //可以,下面就不可以了。 7 8 //想要使用String类特有的方法比如length获取字符串的长度,就不能使用多态 Object obj="abc";需要向下转型,否则运行会报错 9 Stirng str=(String)it.next(); 10 System.out.println(str.length); 11 }
1 ArrayList<String> list2=new ArrayList<>(); 2 list2.add(1); //报错:add.(java.lang.String) in ArrayList cannot be applied to (int)
public class ArrayList<E e>{}
ArrayList<Integer> list =new ArrayList<Integer>();
public <M> void method(M m){//方法体}
1 public interface Iterator<E>{E next();} 2 //Scanner 类实现了Iterator接口,并指定接口的泛型为String,所以重写的next方法泛型默认就是String 3 public final class Scanner implements Iterator<String>{ 4 @Override 5 public String next(){//重写的方法体} 6 }
1 public interface List<E>{ 2 boolean add(E e); 3 E get(int index); 4 }
1 public class ArrayList<E> implements List<E>{ 2 public boolean add(E e){} 3 public E get(int index){} 4 }
标签:实现 cannot 多态 while 安全 元素 长度 new aaa
原文地址:https://www.cnblogs.com/shuijiu/p/15025393.html