Adicionar objetos a array de outra classe

Boa tarde pessoal, sou novo no fórum e esta é meu primeiro post, então caso haja algo de errado já peço desculpas.

A questão é a seguinte:
Tenho uma classe Empresa, onde um dos atributos é um arraylist de funcionários:

public class Empresa {
private String nome;
private ArrayList funcionarios = new ArrayList();}

A classe funcionário tem subclasses para determinar permissões. Porém, um tipo de funcionario deve ser Administrador, e este deve ter capacidade de “contratar” outros funcionários, ou seja, ele deve ser capaz de adicionar objetos do tipo Funcionario para o ArrayList de funcionarios da classe empresa

Já tentei de diversas formas, mas a única forma de inserir funcionários nesse array que consigo, é através da empresa mesmo (empresa.getFuncionarios.add(funcionariox)).

Desde já agradeço!

E como queria fazer?

Darlan, na Empresa eu tenho o seguinte método:

public void CadastrarFuncionario(FuncionarioColab funcionario){
    this.funcionarios.add(funcionario);
}

É possível, de alguma maneira, que uma outra classe (FuncionarioAdmin) use o metodo CadastrarFuncionario da classe empresa?

Veja, a única maneira de fazer isso é por uma instância de objeto da classe Empresa.

Criar um método que verifica se o usuário é um adm dentro da classe empresa não resolveria seu problema?