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
|
|
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.