Erro criar breakpoint - Não entendo o erro

o código

public class CadastroDeLivros {

public static void main(String[] args) {

    Autor autor = new Autor();
    autor.nome = "Rodrigo Turini";
    autor.email = "rodrigo.turini@calum.com.br";
    autor.cpf = "123.456.789.10";

    Livro livro = new Livro();
    livro.nome = "Java 8 Prático";
    livro.descricao = "Novos recursos da linguagem";
    livro.valor = 59.90;
    livro.isbn = "978-85-66250-46-6";

    livro.mostrarDetalhes();

    Livro outroLivro = new Livro();
    outroLivro.nome = "Lógica de Programação";
    outroLivro.descricao = "Crie seus primeiros programas";
    outroLivro.valor = 59.90;
    outroLivro.isbn = "978-25-66250-22-0";

    outroLivro.mostrarDetalhes();


}

}

public class Autor {
String nome;
String email;
String cpf;

void mostrarDetalhes() {
    System.out.println("Mostrando detalhes do autor ");
    System.out.println("Nome: " + nome);
    System.out.println("Email: " + email);
    System.out.println("CPF: " + cpf);
}

}

public class Livro {
String nome;
String descricao;
double valor;
String isbn;
Autor autor;

void mostrarDetalhes(){
    System.out.println("Mostrando detalhes do livro ");
    System.out.println("Nome: " + nome);
    System.out.println("Descrição: " + descricao);
    System.out.println("Valor: " + valor);
    System.out.println("ISBN: " + isbn);
    autor.mostrarDetalhes();
    System.out.println("--");
}

}

o erro:

Exception in thread “main” java.lang.NullPointerException: Cannot invoke “Autor.mostrarDetalhes()” because “this.autor” is null
at Livro.mostrarDetalhes(Livro.java:14)
at CadastroDeLivros.main(CadastroDeLivros.java:16)

Vc criou o autor, mas esqueceu de atribuí-lo ao livro. Faltaram as seguintes linhas:

livro.autor = autor;
outroLivro.autor = autor;

Como vc não fez isso, o valor do campo autor tá nulo, por isso o erro.