Ir para conteúdo

usar lista em outra classe


mabazi

Posts Recomendados

no meu plugin tem a classe API e nela a função de pegar a lista

esta lista é gerada com a classe quando o plugin é ativado e apagada qdo desativado

o problema é, eu crio uma new ClasseExemplo() para começar a arquivar pelo onEnable

só que a classe API nao pode pedir o Main de forma direta no constructor dele, e nao conheço outra forma que me resulte na lista ja criada

alguma ideia de como transferir?



---------------------------
@UPDATE

re-explicando

 

Tenho as classes Main, API, Listas

Lista: Guardo a lista em si que inicia vazia (new HashMap<>()) e outras listas
API: acesso rapido e facil a terceiros no plugin
Main: JavaPlugin

 

Coloquei para quando a Main for ativa ela ja gerar a Listas e ativar a lista vazia, assim posso acessar a lista pelo Main

Porem a API nao inicia com a Main, ela é iniciada por terceiros!

como faço pra pegar a Main com a Lista sem colocar a Main diretamente no constructor?

Link para o comentário
Compartilhar em outros sites

23 minutos atrás, RUSHyoutuber disse:

eu tentei ler o tópico umas 5 vezes e não entendi a duvida 

kkkkk, sou pessimo e explicar

 

OK

tenho 3 classes

uma delas é a main, onde fica onEnable

outra é a Lista, onde guardo as HashMaps

Outra é a API, onde coloco comandos de acesso facil


No main eu importei a Lista ( Lista listas = new Lista() )

Entao ele me da as listas em branco

Eu coloco coisas nelas e fico com listas cheias de coisas


Na classe API eu tenho um void que diz os items de uma lista que esta na classe Lista

Porem se eu der "Lista listas = new Lista() " ele ira me dar uma copia das listas vazias

e nao posso colocar o constructor     API(Main main)    para atraves do main ver as listas


entao preciso de uma forma de ver o Lista que ja foi iniciado sem pedir o Main no constructor

Link para o comentário
Compartilhar em outros sites

27 minutos atrás, Tugaok disse:

Você quer pegar uma lista da classe Lista e jogar na main? se for o caso é só fazer um método especial getters....

 

Sua dúvida está confusa...

quero jogar na classe API

(eu sei, nao consigo explicar :') )

Link para o comentário
Compartilhar em outros sites

vai na classe main e criar uma variavei estatica.

 

private static Listas listas;

onEnable() {

listas = new Listas();

}

 

public static Listas getListas() {

return listas;

}

 

dessa maneira vc pode pegar as listas com o getListas a hora que quiser

Link para o comentário
Compartilhar em outros sites

28 minutos atrás, RUSHyoutuber disse:

vai na classe main e criar uma variavei estatica.

 

private static Listas listas;

onEnable() {

listas = new Listas();

}

 

public static Listas getListas() {

return listas;

}

 

dessa maneira vc pode pegar as listas com o getListas a hora que quiser

Isto ira funcionar, porém teu meio de abstração das classes esta incorreta, você poderia ter uma classe lista, que já inicia as listas, e na main voce implementa ela, ai você pode pegar o métodos da classe.
Nao pode ser extends, por que se não você transforma ela em uma classe filha, ai a abstração volta pro 0.

Editado por Fabiaum
Link para o comentário
Compartilhar em outros sites

2 horas atrás, RUSHyoutuber disse:

vai na classe main e criar uma variavei estatica.

 

private static Listas listas;

onEnable() {

listas = new Listas();

}

 

public static Listas getListas() {

return listas;

}

 

dessa maneira vc pode pegar as listas com o getListas a hora que quiser

sim, mas como acesso main.getListas() pela API ?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...