Dúvida: Orientação a objetos

Tenho um dúvida a respeito de orientação a objetos, especificamente em java. Por exemplo: tenho uma classe que representa o objeto Funcionário. Em uma aplicação pequena fica muito visível e fácil de entender, quando instanciamos um novo Funcionário na classe principal, podemos pegar informações do mesmo, e setar dados, porém não sei como faz isso quando estamos utilizando diversas classes.

Por exemplo: instanciei o Funcionário com o ID 1 na classe principal. Agora, em outra classe preciso resgatar exatamente o mesmo funcionário, porém não é possível. Alguém me explica pfv.

Resumindo o exemplo: Possuo diversos funcionários, porém preciso acessá-los em outras classes… Os funcionários são criados na classe main, porém preciso acessá-los da classe AcessadorDeFuncionarios.

Códigos:

  • Classe Funcionário:

     //VALORES
    

    private int ID;
    private String nome;

    //MÉTODOS SETTERS E GETTERS
    public int getID() {
    return ID;
    }
    public void setID(int iD) {
    ID = iD;
    }
    public String getNome() {
    return nome;
    }
    public void setNome(String nome) {
    this.nome = nome;
    }

Classe Main:

public static void main(String[] args) {
	//INSTANCIANDO UM NOVO FUNCIONARIO
	Funcionario f1 = new Funcionario();
	f1.setID(10);
	f1.setNome("Joãozinho");
}

Classe AcessadorDeFuncionarios

public void exexmplo() {
	//f1 ?
	//Main.f1 ?
	
	/*NÃO QUERO CRIAR UM NOVO FUNCIONÁRIO COM O MESMO "NOME", QUERO
	PEGAR O MESMO FUNCIONÁRIO QUE INSTANCIEI NA CLASSE MAIN*/
	Funcionario f1 = new Funcionario();
}

Desculpa se não postei de forma correta ou se ficou muito confuso. Grato desde já.

Um dos jeitos é passar a instância de funcionário já criada para as classes que precisem manipulá-la. Algo como

public static void main(String args[]){
  Funcionario f1 = new Funcionario();
  f1.setID(10);
  f1.setNome("Joãozinho");

  AcessadorDeFuncionarios acesso = new AcessadorDeFuncionarios();
 acesso.exemplo(f1);
}

E na classe AcessadorDeFuncionarios, pode fazer algo como:

Classe AcessadorDeFuncionarios{

public void exemplo( Funcionario funcionario ) {
  System.out.println(funcionario.getNome());
}
}

Abraço.

Classe AcessadorDeFuncionarios extends Funcionario{

public void exemplo( Funcionario funcionario ) {
System.out.println(funcionario.getNome());
}
}

Tenta assim

@Rafael_Araujo. Não quero extender a classe Funcionario, aí seria um tipo de funcionário (como gerente), que não deixa de ser um funcionário. A solução que encontrei foi a seguinte:
Criar uma classe para gerenciar os funcionários:

GerenciadorDeFuncionarios:

public class GerenciadorDeFuncionarios {

	//"instanciador"
	public static GerenciadorDeFuncionarios instance = new GerenciadorDeFuncionarios();
	private ArrayList<Funcionario> funcionarios = new ArrayList<>();
	private GerenciadorDeFuncionarios() {
	}
	public static GerenciadorDeFuncionarios getInstance() {
		return instance;
	}

	//retorma o funcionário cujo nome foi informado
	public Funcionario getFuncionarios(String nome) {
		for (Funcionario f : funcionarios) {
			if (f.getName() == nome) {
				return f;
			}
		}
		return null;
	}

	//adiciona um funcionário
	public void adicionarFuncionario(String nome) {
		Funcionario f = new Funcionario(nome);
		funcionarios.add(f);
	}

Main:

public static void main(String[] args) {
		GerenciadorDeFuncionarios.getInstance().adicionarFuncionario("Joaozinho");
	}

Classe exemplo que deseja acessar um determinado funcionário:

	public void teste() {
		GerenciadorDeFuncionarios.getInstance().getFuncionarios("Joaozinho");
	}

Funcionou, mas tenho quase certeza que não é a maneira correta de fazer isso. Ainda no aguardo de respostas…

Bem confuso isso ai. Quais requisitos/objetivos desse programa? Sem isso não vai saber se está certo nunca.

Não tem muito um objetivo. Estou aprendendo poo e tive essa dúvida enquanto fazia um programa teste de controle de caixa. Objetos ficou muito claro pra mim, porém quero saber como faço para poder acessar os mesmos funcionários dentro de um programa, em classes diferentes. Essa parte de poo, que não achei vídeo específico sobre, ficou bem confusa pra mim.

Pra aprender, estude algum livro, apostila ou no mínimo tutoriais pra você ter uma direção. Nao é o momento de inventar nada, só vai se enrolar enquanto não estiver preparado.

Exemplo de apostila:

Tutorial: