Auxilio em Aplicativo

Boa noite a todos!
Espero sinceramente que um dia eu consiga entrar aqui não só pra pedir ajuda, mas também para auxiliar…
Por ora, venho novamente pedir ajuda…rs
Seguinte… estou montando um aplicativo academico, para testar as “habilidades” … o aplicativo seria usado para locadoras… então, vejamos…

Estou usando o Eclipse.
Dei o nome do aplicativo de “locadora” ( bem original ), criei um pacote homonimo com a classe principal, a qual chamei de TelaPrincipal.
Criei também o pacote “clientes” , que contém uma classe ClienteDados (para inserir os dados) e outra Endereco que pretendo usar dentro da classe ClienteDados.
Abaixo segue os pré-códigos, e depois segue as dúvidas…
Por enquanto tem só atributos. Peço auxilio para ir desenvolvendo.

código da classe principal:




package locadora;
import clientes.ClienteDados;

public class Telaprincipal {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
	
		ondeMora.rua = "Borges de Medeiros";
		ondeMora.bairro = "Centro";
		ondeMora.cep = "90010-060";
		
		
		

	}

}

código da classe ClientesDados:


package clientes;  // classe do pacote clientes
import clientes.Endereco;  // importa a classe Endereco

public class ClienteDados {
	
	public static String nome;
	public static String autorizados;
	public static short telefone;
	public static Endereco ondeMora;
	
	

}

classe endereco, que pretendo usar na ClienteDados:

package clientes;  // classe do pacote clientes

public class Endereco {      // classe que recebe os dados de
	                         // endereço do cliente
	                          
	public static String rua;
	public static String bairro;
	public static String cidade, estado;
	public static short numeroCasa;
	public static String cep;
	

}

Agora, as perguntas…
Se eu usar a classe Endereco na ClienteDados, eu preciso importar… mas se eu quiser usar classe principal, eu preciso importar ela também? Ela esta dentro da ClienteDados, que faz essa chamada… mesmo assim, eu preciso fazer a importação?
Outra: como eu faço para inserir dados nela? Tem que ser pela classe principal ou na respectiva classe? O Eclipse deu vários erros, não consigo lembrar de todos, mas não estava funcionando e nem coloquei pra rodar…

Respondendo suas perguntas…

Você só precisa importar uma classe,se está classe estiver em um pacote diferente. Classes do mesmo pacote não precisam ser importadas.
Você tem a classe Endereco e ClienteDados, que estão dentro do pacote cliente. Então se você quiser usar a classe Endereco dentro da classe ClienteDados não é necessário usar a instrução import, que você está utilizando.
Já a classe TelaPrincipal está no pacote locadora, e está sim terá que importar cliente.Endereco ou cliente.ClienteDados, se for usar alguma das duas classes.

Se você vai acessar a classe Endereco através de uma instãncia da classe ClienteDados, você não precisa fazer a importação da classe Endereco.
Funciona assim:
Caso 1:
TelaPrincipal importa ClienteDados e chama método mostrarEndereço.
A classe ClienteDados mostra o endereço.
–Neste caso você não precisa importar a classe Endereco, pois não está trabalhando com uma instância dela diretamente. Tudo é feito através da classe ClienteDados

Caso 2:
TelaPrincipal importa ClienteDados e Endereco chama método retornarEndereço.
A classe ClienteDados retorna uma instância de Enderelo.
–Neste caso você está trabalhando com uma instância de Endereco explicitamente, então deve fazer a importação.

Vou responder sua última pergunta da maneira mais simples. Quando for ganhando mais experiência vai entender melhor como deve fazer.
O certo seria inserir dados na classe endereço através de métodos na classe cliente, mas você está no básico e vamos fazer o mais fácil.

Seu método main está dando erro pois você não tem uma instância da classe Endereco.
Acredito que você queira fazer isso:

package locadora;
import clientes.ClienteDados;
import clientes.Endereco;

public class Telaprincipal {        
	public static void main(String[] args) {	
                Endereco ondeMora = new Endereco(); //criando uma instancia de endereco.
		ondeMora.rua = "Borges de Medeiros";
		ondeMora.bairro = "Centro";
		ondeMora.cep = "90010-060";

                ClienteDados cliente = new ClienteDados();//criando uma nova instancia de cliente onde vamos adicionar o endereco criado
                cliente.nome = "Eddy";
                cliente.ondeMora = ondeMora;//aqui voce atribui o endereco acima ao cliente criado. 
	}
}

Você pode fazer de outra maneira, que seria:
Mas não é muito recomendado, você vai saber o porque quando adquirir mais conhecimento.

package locadora;
import clientes.ClienteDados;

public class Telaprincipal {        
	public static void main(String[] args) {	
                ClienteDados cliente = new ClienteDados();//criando uma nova instancia de cliente onde vamos adicionar o endereco criado
                cliente.nome = "Eddy";
		cliente.ondeMora.rua = "Borges de Medeiros";
		cliente.ondeMora.bairro = "Centro";
		cliente.ondeMora.cep = "90010-060";
	}
}

Cara não entendi muito bem o que vc quis fazer.

vc ta querendo fazer uma interface e dai chamar as outras classes em form.

Resumindo: se eu usar um método, variável de outra classe do mesmo pacote não preciso importar?