Pessoal, no meu código deu NullPointerException quando tentei acessar o atributo nome da classe Pessoa através do construtor. Poderiam me ajudar?
Exception in thread "main" java.lang.NullPointerException
at br.com.alura.classes.ContaCorrente.<init>(ContaCorrente.java:11)
at br.com.alura.programa.TestaComparacaoConta.main(TestaComparacaoConta.java:11)
package br.com.alura.programa;
import br.com.alura.classes.Conta;
import br.com.alura.classes.ContaCorrente;
public class TestaComparacaoConta {
public static void main(String[] args) {
// TODO Auto-generated method stub
Conta conta1 = new ContaCorrente(468189,"Leandro");
Conta conta2 = new ContaCorrente(468189,"Leandro");
if(conta1 == conta2){
System.out.println(" == Iguais");
}else{
System.out.println(" =! Diferentes");
}
if(conta1.equals(conta2)){
System.out.println(" equals Iguais");
}else{
System.out.println(" equals Diferentes");
}
}
}
package br.com.alura.classes;
public class ContaCorrente extends Conta implements Tributavel{
public ContaCorrente() {
}
public ContaCorrente(int numero, String nome) {
this.setNumero(numero);
this.titular.setNome(nome);
}
public void atualiza(double taxa) {
this.saldo += this.saldo * taxa *2;
}
public void imprimir(){
System.out.print("Conta Corrente ");
}
public double calculaTributos() {
return this.getSaldo() * 0.01;
}
}
package br.com.alura.classes;
import br.com.alura.exception.ValorInvalidoException;
public abstract class Conta {
private int numero;
protected double saldo;
private double limite;
private static int totalDeContas;
Pessoa titular;
private int agencia;
Conta() {
Conta.totalDeContas = Conta.totalDeContas + 1;
}
public int getTotalDeContas() {
return Conta.totalDeContas;
}
public int getNumero() {
return this.numero;
}
public Pessoa getTitular() {
return titular;
}
public void setTitular(Pessoa titular) {
this.titular = titular;
}
public double getLimite() {
return this.limite;
}
public void setNumero(int numero) {
this.numero = numero;
}
public void setLimite(double limite) {
this.saldo = limite + this.saldo;
this.limite = limite;
}
public double getSaldo() {
return this.saldo;
}
public void setsaldo(double valor) {
this.saldo = valor + this.saldo;
}
public void saca(double valor) throws Exception {
if (this.saldo >= valor) {
this.saldo -= valor;
} else {
throw new Exception("Saldo insuficiente");
}
}
public void deposita(double valor) throws ValorInvalidoException {
if (valor < 0) {
throw new ValorInvalidoException();
} else {
this.saldo += valor -0.20;
}
}
@Override
public boolean equals(Object obj) {
Conta outraConta = (Conta) obj;
return this.numero == outraConta.numero;
}
public abstract void atualiza(double taxa);
public void imprimir() {
System.out.print("Conta ");
}
@Override
public String toString(){
return "Uma conta com valor " + this.saldo;
}
}