Rogério,
isso acontece porque a sua classe Produtos não tem esse construtor que você está tentando chamar.

        Produtos prod = new Produtos("Livro",11,14.50);

Você deve ter tentando chamar esse construtor pensando que este seria herdado da classe Dados.
Pensar isso é normal quando se está iniciando em Java, mas guarde uma dica: "Construtores nunca são herdados - eles são específicos da própria classe."

[]s

Diogo Montanaro Pedroso
[EMAIL PROTECTED]




"rogerio" <[EMAIL PROTECTED]>

31/10/2002 11:42

Please respond to
[EMAIL PROTECTED]

To
<[EMAIL PROTECTED]>
cc
Subject
[java-list]  Problema na derivação de classe





                Boa Noite, pessoal estou começando a estudar o Java para valer aproximadamente 1 semana e apareceu um pequeno problema que ainda não entendi, crie uma programa com uma classe Dados e declarei 3 variaveis (String nome, int codigo, double valor), segue o código fonte:
 
Segue o codigo fonte do programa Dados.Java << O codigo Abaixo funcionou >>
 
import javax.swing.*;
 
class Dados
{
 String nome;
 int codigo;
 double valor;

 
  Dados()
 {
   nome = JOptionPane.showInputDialog("Nome : ");
   codigo = Integer.parseInt(JOptionPane.showInputDialog("Codigo :"));
   valor = Double.parseDouble(JOptionPane.showInputDialog("Valor :"));
 }

 
  Dados(String p,int c, double v)
 {
   nome = p;
   codigo = c;
   valor = v;
 }

 
  void ImprimeDados()
 {
      System.out.println (" ======== Dados Gerais ============");
      System.out.println ("Nome : " + nome);
      System.out.println ("Codigo: " + codigo);
      System.out.println ("Valor : " + valor);
 }

 
  public static void main(String arg[])
 {
    Dados dado = new Dados("Livro",11,14.50);
    Dados dado1 = new Dados();
    dado.ImprimeDados();
    dado1.ImprimeDados();
    System.exit(0);
 }
}

 
Compilei o arquivo e executei o aplicativo, funcionou corretamente.
Agora vem o problema: crie um outro programa chamado Produtos.java que tem um classe Produto  que é derivada da classe Dados.
 
Segue o codigo fonte:
 
import javax.swing.*;
 
public class Produtos extends Dados
{
 public static void main(String arg[])
 {
    Produtos prod1 = new Produtos();
    // Produtos prod = new Produtos("Livro",11,14.50);    
Entretanto neste o ponto aparece o problema eu não consigo passar o paramento para classe, entretanto se retiro a linha de comando acima o programa funciona corretamente,os dados que estão sendo enviados aparentemente estão corretos.
     // prod.ImprimeDados();                                            
    prod1.ImprimeDados();
    System.exit(0);
 }
}

 
    Pessoal, desculpe o email, mas o que poderia estar errado no programa acima?
 
    Desde já agradeço pela colaboração
    Rogério Brandão - Anápolis\GO.

Responder a