Erro Construtor

Boa noite pessoal!
Será que alguém poderia meajudar com minhas classes rsss, já pesquisei muuuito e aparantemente ta certo pelas pesquisas, mas tá dando erro.
Criei minha Super classe chamada Pessoa

import java.util.Scanner;
public abstract class Pessoa 
{
	public int telefonecontato;
    public String nome;
	
	
	public Pessoa(int telefonecontato, String nome) 
	{
		//super();
		this.telefonecontato = telefonecontato;
		this.nome = nome;
	}

    
	public int getTelefonecontato() 
	{
		return telefonecontato;
	}


	public void setTelefonecontato(int telefonecontato) 
	{
		this.telefonecontato = telefonecontato;
	}


	public String getNome() 
	{
		return nome;
	}


	public void setNome(String nome) 
	{
		this.nome = nome;
	}


	public abstract void tipoPessoa();
	
}

E tenho dois extends PessoaFisica e Juridica

import java.util.Scanner;
public class PessoaFisica extends Pessoa
{
	private int rg;
	private String endereco;

	

    public PessoaFisica(int telefonecontato, String nome, int rg,String endereco) 
    {
		super(telefonecontato, nome);
		this.rg = rg;
		this.endereco = endereco;
	}
	
public int getRg() 
    {
		return rg;
	}

	public void setRg(int rg) 
	{
		this.rg = rg;
	}

	public String getEndereco() 
	{
		return endereco;
	}

	public void setEndereco(String endereco) 
	{
		this.endereco = endereco;
	}

   public void tipoPessoa()
   {
	   System.out.println("Pesoa física");
   }
}

E a minha aplicação Agenda, mas ta dando erro, fala que o construtor não ta definido, não to conseguindo, eu vi isso no primeiro ano de faculdade, de fato era pra nunca esquecer, mas esqueci, não programo já tem um tempinho.

import java.util.Scanner;
public class Agenda 
{
	public static void main (String args[])
	{
		//Pessoa p[]=new Pessoa[2];
        PessoaFisica pf[]=new PessoaFisica[2];
        PessoaJuridica pj[]=new PessoaJuridica[2];

		
        for (int i=0; i<pf.length;i++)
        {
        	pf[i]= new PessoaFisica();
        	pf[i].setTelefonecontato(654321);
        	pf[i].setNome("Julio");
        	pf[i].setRg(233654);
        	pf[i].setEndereco("Rua xxxxxx");
        
        	
        	System.out.println("O telefone para contato é: "+pf[i].getTelefonecontato());
        	System.out.println("O nome é" + pf[i].getNome());
        	System.out.println("O RG é: "+pf[i].getRg());
        	System.out.println("O endereço é: "+pf[i].getEndereco());
        	
        }
        
        
        for (int i=0; i<pj.length;i++)
        {
        	
        	pj[i]=new PessoaJuridica();
        	pj[i].setTelefonecontato(123456);
        	pj[i].setNome("Maria");
        	pj[i].setCnpj(1234567891);
        	pj[i].setRazaosocial("Empresa Trabalho");
        	
        	System.out.println("O telefone para contato é: "+pj[i].getTelefonecontato());
        	System.out.println("O nome é" + pj[i].getNome());
        	System.out.println("O CNPJ é: "+pj[i].getCnpj());
        	System.out.println("O endereço é: "+pj[i].getRazaosocial());
        	
        }
       
	}
}

help please!! :frowning:

Acredito que o problema seja que você declarou um construtor na classe PessoaFisica que recebe 3 argumentos:

public PessoaFisica(int telefonecontato, String nome, int rg,String endereco) {  
         super(telefonecontato, nome);  
         this.rg = rg;  
         this.endereco = endereco;  
}  

Depois, na classe Agenda, você tenta instanciar um objeto PessoaFisica usando um construtor sem passar nenhum argumento:

pf[i]= new PessoaFisica();

Uma solução possível, é instanciar o objeto passando os parâmetros ou criar um construtor que não recebe nenhum argumento.

seu problema está aqui:

[code]

new PessoaFisica(); [/code]

quando declaramos um construtor na classe o construtor padrao nao existe, então vc tem duas opcoes:

  1. criar um construtor sem argumentos
  2. ou passar para o construtor os args que vc declarou na classe.

flw. :smiley:

E a classe PessoaJuridica, você também criou?
Tente também criar um construtor padrão na classe PessoaFisica

[code] public PessoaFisica()
{

}

[/code]

ou então, na hora que instanciar, usar o construtor passando os parâmetros:

pf[i]= new PessoaFisica("2345678","Nome usuario","numero rg","Endereco talz");

Boa noite pessoa!!
Deu certo, mas passei os dados dentro como parametro, Obrigadaaaaaa :lol: :lol: