Carcleo 4 Denunciar post Postado Junho 28, 2014 Pessoal, estou iniciando meus estudos e java e tenho a seguinte situação. Veja: Estou usando o console do DOS para compilar .java (gerar .class). Tenho esta estrutura de diretórios: compras //Diretório Principal.java classes //Diretório Funcionario.java Gerente.java Compilando classe Funcionário Classe Funcionario public class Funcionario { private String nome; private String endereco; private int idade; private char sexo; //Metodos Set public void setNome (String _nome) { this.nome = _nome; } public void setEndereco (String _endereco) { this.endereco = _endereco; } public void setIdade (int _idade) { this.idade = _idade; } public void setSexo (char _sexo) { this.sexo = _sexo; } //Metodos Get public String getNome () { return this.nome; } public String getEndereco () { return this.endereco; } public int getIdade () { return this.idade; } public char getSexo () { return this.sexo; } } Classe Funcionario Compilado Ok. Compilando classe Gerente Classe Gerente public class Gerente extends Funcionario { private int departamento; private double salario; } Classe Gerente compilado Ok Como arquivos .java na mesma pasta não precisam referencia, Funcionario.java e Gerente.java compilaram normal. Mas, Principal.java deu o erro de compilação abaixo: Eis o erro: D:\1 - Verificar\Projetos\Java\compras\compras>javac Principal.java<br> Principal.java:3: error: cannot access Gerente<br> import classes.Gerente;<br> ^<br> bad class file: .\classes\Gerente.class<br> class file contains wrong class: Gerente<br> Please remove or make sure it appears in the correct subdirectory of the cla<br> sspath.<br> <br> D:\1 - Verificar\Projetos\Java\compras\compras><br> - Verificar\Projetos\Java\compras\compras> Compilando Classe Principal Classe Principal package compras; import classes.Gerente; public class Principal { public static void main (String[] args) { Gerente gerente = new Gerente(); gerente.setNome("Carlos Rocha"); gerente.setIdade(30); System.out.println(gerente.getNome()); System.out.println(gerente.getIdade()); } } Erro acima! Como resolver? Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Junho 28, 2014 Fazendo aqui meus testes descobri: Usando a mesma estrutura no Eclipse, funciona. Já pelo cmd do DOS não compila. Acho que o NetBeans/Eclipse deve gerar uma especie de Path em memória, coisa que o cmd não gera automaticamente para encontrar os endereços. Será que é isso? Se for, como montar esse Path antes de compilar? Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Julho 1, 2014 O que tu deves fazer é adicionar a diretiva package nas classes Funcionário e Gerente. Como elas estão na pasta classes sua sentença deverá ser: package classes; public class Funcionario ... e package classes; public class Gerente extends Funcionario... Detalhe, a classe Principal não deve ter a diretiva package uma vez que ela está na raiz do projeto. Após isso é só compilar. Compartilhar este post Link para o post Compartilhar em outros sites