为什么AbstractList类实现set(int index,E元素)方法?它所做的只是抛出UnsupportedOperationException。
然而,它的所有子类(ArrayList、LinkedList、Vector)实现(重写)此方法,并为操作提供其逻辑。如果所有扩展AbstractList的类都提供了自己的逻辑,那么为什么这个方法是由AbstractList实现的呢。
这是为实现List
接口的子类完成的。
例如,由asList
方法创建的实用程序Arrays.ArrayList
类
List<Integer> readOnly = Arrays.asList(1, 2, 3);
不允许修改列表,所以它的set(int index, E element)
方法抛出UnsupportedOperationException
。此默认行为在AbstractList
类中实现。