[Resolvido]Duvida Class Extended

8 respostas
C

Alguém sabe por que esta dando problema?Esta dando unreachable code .
Deve ser algo simples mas realmente não sei =/

public class Funcionarios 
	{public static void main(String[] args) {
	String nome;
	int salario;
	String CPF;

}
	
	public class gerente extends Funcionarios{
		int ndfg;
		int Senha;
		gerente pedro = new gerente();
		
		public boolean autentica(int senha){
			if (Senha==senha) {
				System.out.println("OK");
				return true;
			} else {
				System.out.println("No");
				return false;
			}
			
			gerente pedro = new gerente();
			
		}
		
	}
}

8 Respostas

A

Este erro indica que tem um trecho do código que nunca será executado.

unreachable code seria numa tradução livre, código inalcançável…

No seu caso, você tem uma instrução com if e else.
No if você tem um return (que finaliza o método)
No else você também tem um return.

Em que situação o gerente pedro seria instanciado?
Nunca! Por isso o erro.

C

A certo,vlw, mudei para void invés de boolean o metodo de autenticar assim elimando os returns...

agora gostaria de saber por que não posso criar um objeto gerente em outro .java dentro do mesmo pacote?

public class Teste {

	public static void main(String[] args) {
		gerente Pedro = new gerente();
	}

}
Como por exemplo nesse caso?
ruben_m
CaioIncau:
A certo,vlw, mudei para void invés de boolean o metodo de autenticar assim elimando os returns...

agora gostaria de saber por que não posso criar um objeto gerente em outro .java dentro do mesmo pacote?

public class Teste {

	public static void main(String[] args) {
		gerente Pedro = new gerente();
	}

}
Como por exemplo nesse caso?
se tiver no mesmo pacote é so instanciar a Classe! é muito facil como mostras t ai no codigo
public static void main(String[] args) {
		gerente Pedro = new gerente();
	}

se estiver em pacotes diferentes é so fazer o import do outro pacote.

C

Pessoal, não estou conseguindo atribuir um nome para o gerente…
consegui cria-lo mas não atribuir…
tentei o this. e nada, tente criar um void com um return super e nada…alguem tem alguma ideia de como atribuir um nome a um gerente?

henriqueluz

Como você não está encapsulando basta fazer isto:

gerente gerenteFinancas = new gerente();
gerenteFinancas.nome = "Pedro";

Abs,

ruben_m
CaioIncau:
Alguém sabe por que esta dando problema?Esta dando unreachable code . Deve ser algo simples mas realmente não sei =/
public class Funcionarios 
	{public static void main(String[] args) {
	String nome;
	int salario;
	String CPF;

}
	
	public class gerente extends Funcionarios{
		int ndfg;
		int Senha;
		gerente pedro = new gerente();
		
		public boolean autentica(int senha){
			if (Senha==senha) {
				System.out.println("OK");
				return true;
			} else {
				System.out.println("No");
				return false;
			}
			
			gerente pedro = new gerente();
			
		}
		
	}
}
public class gerente extends Funcionarios{
		int ndfg;
		int Senha;
		gerente pedro = new gerente();
		
		public boolean autentica(int senha){
			if (Senha==senha) {
				System.out.println("OK");
				return true;
			} else {
				System.out.println("No");
				return false;
			}

Nem tinha repardo nisso! teu programa ira dar ero por causa desta linha (Linha 4):

gerente pedro = new gerente();

voçe esta tentar instanciar uma classe dentro de ela mesma... claro que ele nunca ira achar aquele codigo

C

Consegui vlw…

ruben_m

Então agora va ai no Topico e edite o assunto e ponha “[RESOLVIDO]Duvida Class Extended”

:lol:

Criado 23 de agosto de 2011
Ultima resposta 25 de ago. de 2011
Respostas 8
Participantes 4