Minha duvida é a seguinte:
Existe uma classe Produto, onde tem as características básicas de um produto (codigo, nome, valor).
public class Produto{
private double valor;
private String nome;
private int codigo;
....
Existe uma classe ListaProdutos, que cria uma ArrayList de Produto, e lá tem os métodos cadastra, remove, organiza, busca (que retorna um Produto através do código), toString.
public class ListaProdutos{
ArrayList<Produto> lista;
public ListaProdutos(){
lista = new ArrayList<Produto>():
}
public Produto busca(int codigo){
Produto prod;
for(Produto p : lista){
if (p.getCodigo() == codigo) return p;
} else return null;
....
Existe uma classe InterfaceProduto, onde o usuário entra com os dados do produto, aperta em OK, é gerado um novo Produto. Até aí, tudo bem. Preciso armazenar esse Produto em algum lugar, então precisaria instânciar a classe ListaProdutos aqui para armazenar esse e os outros produtos cadastrados.
public class InterfaceProduto extends JFrame{
ListaProdutos p;
....
public InterfaceProduto(){
super("");
ListaProdutos lista = new ListaProdutos();
....
}
//método com evento onde é instanciado um Produto e armazenado
...
Produto p = new Produto (nome, valor);
lista.add(p);
}
Daí tem a classe Locacao, onde é armazenado uma referencia de ListaProdutosLocados (essa é outra classe que criei para armazenar só os produtos que vão ser locados por algum cliente). A classe Locacao precisa armazenar um cliente (o que está fazendo a locação), e uma lista de produtos que ele irá locar. Só que é necessário primeiro pesquisar se os produtos existem, ou seja, preciso usar aquela instância de ListaProdutos feita na classe InterfaceProduto, que é onde estão os produtos cadastrados. Como faço isso? A mesma coisa ocorre com os Clientes, armazenados em InterfaceCliente.
