Troca de informações entre classes

Oi, eu to quebrando minha cabeça tentando entender como faz isso…
Tem uma classe chamada Colaborador que tem seus atributos e tals, e tem uma ArrayList pra guardar cada Colaborador, pra adicionar um novo Colaborador tem a classe AddColaborador que vai perguntar os dados e lançar os dados para a ArrayList da classe Colaborador. Só que eu não estou conseguindo fazer isso ;-; alguém me ajuda?

Por enquanto está assim,
Colaborador: https://pastebin.com/KFUaYt0N
AddColaborador: https://pastebin.com/nhnsRbbj
Main: https://pastebin.com/kycmZSC6

Coloquei no Pastebin, pq tive dificuldade em por o codigo aqui kk

Aparentemente falta você estudar/entender como e quando utilizar static adequadamente.
Também procure utilizar nomes legíveis para seus atributos e métodos.

Em princípio essa classe AddColaborador nem precisaria existir, já que a própria classe Colaborador possui métodos para adicionar o colaborador à lista, de qualquer forma, eu mantive a classe, não sei se foi requisito de seu professor.

Dei uma refatorada no seu código, veja:

Classe Colaborador:

package teste;

import java.util.ArrayList;
import java.util.List;

public class Colaborador {

    private static List<Colaborador> colaboradores = new ArrayList<Colaborador>();

    public static String listar() {
        StringBuilder texto = new StringBuilder();
        for (int i = 0; i < colaboradores.size(); i++) {
            Colaborador colaborador = colaboradores.get(i);
            if (i > 0) {
                texto.append("; ");
            }
            texto.append("Nome: " + colaborador.getNome());
            texto.append(", ");
            texto.append("Idade: " + colaborador.getIdade());
        }
        return texto.toString();
    }

    private int idade;
    private String nome;

    public Colaborador() {}

    public Colaborador(int idade, String nome) {
        this.idade = idade;
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public String getNome() {
        return nome;
    }

    public void salvar() {
        colaboradores.add(this);
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }
}

Classe AddColaborador:

package teste;

import javax.swing.JOptionPane;

public class AddColaborador {
	
	public void adicionar() {
		String nome = JOptionPane.showInputDialog("Qual seu nome?");
		int idade = Integer.parseInt(JOptionPane.showInputDialog("Qual sua idade?"));
		
		Colaborador colaborador = new Colaborador(idade,nome);
		colaborador.salvar();
	}
}

Classe Main:

package teste;

public class Main {

    public static void main(String[] args) {
        AddColaborador adicionador = new AddColaborador();
        adicionador.adicionar();
        System.out.println("Colaboradores: " + Colaborador.listar());
    }
}

Oi moço, eu consegui fazer do jeito que eu queria, obrigado! O que eu estava fazendo é um JFrame que vai pedir as informações do usuário e vou guardar dentro da classe Colaborador para fazer um relatório em um JDialog, esse projeto que eu abri foi só pra tentar entender mesmo como faz, e consegui, muito obrigado ^^