[Resolvido]Duvida Class Extended

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();
			
		}
		
	}
}
	

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.

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?

[code]public class Teste {

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

}
[/code]
Como por exemplo nesse caso?

[quote=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?

[code]public class Teste {

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

}
[/code]
Como por exemplo nesse caso?
[/quote]

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.

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?

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

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

Abs,

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

[code]
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();
		
	}
	
}

}

[/code][/quote]

[code]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;
		}
		[/code]

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

	[code]gerente pedro = new gerente();[/code]

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

Consegui vlw…

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

:lol: