Magna Concursos
1386234 Ano: 2007
Disciplina: TI - Desenvolvimento de Sistemas
Banca: CESPE / CEBRASPE
Orgão: CBM-DF
public class Lista {
protected static final int TAM_MAX = 10;
protected int tamanho, maximo;
protected Elemento primeiro, ultimo;
public Lista(int maximo){
if(maximo <= 0)
throw new IllegalArgumentException();
if(maximo > TAM_MAX) this.maximo = TAM_MAX;
else this.maximo = maximo;
}
public final synchronized Elemento remover()
throws InterruptedException {
Elemento no;
while(primeiro==null) wait();
no = primeiro;
primeiro = primeiro.getProximo();
tamanho--;
if(tamanho==(maximo-1)) notify();
return no;
}
}
public class Fila extends Lista {
public Fila(int maximo){
super(maximo);
}
public synchronized void inserir(Elemento no)
throws InterruptedException {
while(tamanho == maximo) wait();
if(primeiro == null) primeiro = no;
else ultimo.setProximo(no);
ultimo = no;
tamanho++;
if(primeiro.getProximo()==null) notify();
}
}
Considerando o código Java mostrado acima, julgue o seguinte item.
A classe Lista é uma classe abstrata, uma vez que na mesma não há uma definição para o método inserir(). A classe Fila é uma classe concreta, pois herda o método remover() e define o método inserir().
 

Provas

Questão presente nas seguintes provas