gpt4 book ai didi

java - 覆盖继承中的方法

转载 作者:行者123 更新时间:2023-12-02 08:11:06 24 4
gpt4 key购买 nike

导入java.util.AbstractList;

公共(public)类 ItemSet 扩展 AbstractList {

private Item[] arr;
private ItemClass itemClass;

public ItemSet(Item item) {
arr = new Item[1];
arr[0] = item;
}

/*
* (non-Javadoc)
*
* @see java.util.AbstractList#add(java.lang.Object)
*/
@Override
public boolean add(Item e) {
boolean isNotAdded = true;
for (int i = 0; i < arr.length; i++) {
if (e.getRule().compareTo(arr[i].getRule())) {
if (e.getDot() == arr[i].getDot()) {
isNotAdded = false;
break;
}
}
}
if (isNotAdded) {
Item[] oldArr = arr;
arr = new Item[oldArr.length + 1];
System.arraycopy(oldArr, 0, arr, 0, oldArr.length);
arr[oldArr.length] = e;
}
return isNotAdded;
}

@Override
public Item get(int index) {
return arr[index];
}

@Override
public int size() {
return arr.length;
}

// SETTER

/**
* @param itemClass
* the itemClass to set
*/
public void setItemClass(ItemClass itemClass) {
this.itemClass = itemClass;
}

//

// GETTER

/**
* @return the itemClass
*/
public ItemClass getItemClass() {
return itemClass;
}
//

}

如何覆盖例如删除方法?如何不使用自己的列表实现?

最佳答案

如果你不想实现接口(interface)中的其他方法,只需定义它们来抛出异常:

public bool remove(Object o)
{
throw new UnsupportedOperationException();
}

如果您甚至不想这样做,您应该从类继承,而不是实现接口(interface)。

关于java - 覆盖继承中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7408836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com