Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou tentando fazer herança com classes em diferentes arquivos, mas não estou conseguindo. O problema parece estar na importação da classe pai.
Vejam a estrutura de diretórios e arquivos:
.
|-- PackTest.java
`-- myLib
|-- Funcionario.java
`-- Pessoa.java
Quero que Funcionarios seja uma classe herdeira de Pessoa, para que ambas sejam acessadas em PackTest.
Fontes dos arquivos:
Pessoa.java
package myLib;
class Pessoa
{
private String nome;
private byte idade;
public void setNome( String nome )
{
this.nome = nome;
}
/*------------------------------*/
public void setIdade( byte idade )
{
if ( idade > 0 && idade < 140 )
this.idade = idade;
}
/*----------------------------------*/
public byte getIdade()
{
return this.idade;
}
/*-------------------------*/
public String getNome()
{
return this.nome;
}
/*-------------------------*/
public String toString()
{
return ( this.nome + " | " + this.idade );
}
/*----------------------------------*/
}
Funcionario.java
package myLib;
import Pessoa;
public class Funcionario extends Pessoa
{
private float salario;
public void setSalario( float salario )
{
this.salario = salario;
}
/*------------------------------*/
public float getSalario()
{
return this.salario;
}
/*-------------------------*/
public String toString()
{
return ( super.getNome() + " | " + super.getIdade() + " | R$" + this.salario );
}
/*------------------------------*/
}
PackTest.java
import myLib.*;
public class PackTest
{
public static void main( String args [] )
{
Pessoa p1 = new Pessoa();
Pessoa p2 = new Pessoa();
Funcionario f1 = new Funcionario();
p1.setNome( "Beraldo" );
p1.setIdade( (byte)22 );
p2.setNome( "Tio Zé" );
p2.setIdade( (byte)42 );
f1.setNome( "João" );
f1.setIdade( (byte) 30 );
f1.setSalario( 780.00f );
System.out.println( "Nome da pessoa 1: " + p1.getNome() );
System.out.println( "Idade da pessoa 1: " + p1.getIdade() );
System.out.println( "Nome da pessoa 2: " + p2.getNome() );
System.out.println( "Idade da pessoa 2: " + p2.getIdade() );
System.out.println( p1.toString() );
System.out.println( p2.toString() );
System.out.println( f1.toString() );
}
/*-----------------------------*/
}
Consigo usar apenas Pessoa no PackTest sem problemas. O problema é compilar Funcionario.java. O Erro:
>
$ javac Funcionario.java
Funcionario.java:3: '.' expected
import Pessoa;
^
Funcionario.java:3: ';' expected
import Pessoa;
^
2 errors
Acho que é um simples erro no import.
Já tentei com myLib.Pessoa e também não deu certo. :(
Valeu
Abraços,
Beraldo
Carregando comentários...