O que estou errando neste codigo?

Estou aprendendo agora a usar essa linguagem feita nas mais profundas camadas do inferno, se alguém puder me dizer qual é o erro que eu cometo direto e nunca acho a solução ficarei agradecido! Ah, e caso essa informação for útil: estou compilando tudo no cmd contra minha vontade de própria, abaixo as palavras do ritual satânico:

public class Produto {
	String nome;
	double preco;

	public void mostraProduto() {
		System.out.println("Nome do produto: "  + nome + " Preco do produto " + preco);
	}

	public boolean ehCaro() {
		if(preco > 50.00)
			return true;
		else
			return  false;
	}

}

public class Livro extends Produto {
	String autor;
	int paginas;

	public void mostraLivro() {
		System.out.println("Numero de paginas: " + paginas + "Nome do autor: " + autor + "Preco do livro: " + preco + "Titulo" + nome);
	}

	public boolean ehExtenso() {
		if(paginas > 100)
			return true;
		else
			return false;
	}
}

public class ProdutoApp {
	public static void main(String[] args) {
		Produto p1 = new Produto();
		Produto p2 = new Produto();

		p1.nome = "Biblia";
		p1.preco = 10.00;
		p1.autor = "Jesus";
		p1.paginas = 1357;

		p2.nome = "Livro de POO";
		p2.preco = 200.00;
		p2.autor = "O Próprio demonio";
		p2.paginas = 464;

		System.out.println("Infos para p1:");
		p1.mostraProduto();
		p1.mostraLivro();
		System.out.println("O produto eh caro? " + p1.ehCaro());
		System.out.println("O livro eh extenso? " + p1.ehExtenso());
		System.out.println();

		System.out.println("Infos para p2:");
		p2.mostraProduto();
		p2.mostraLivro();
		System.out.println("Infos para p1:");
		System.out.println("O produto eh caro? " + p2.ehCaro());
		System.out.println("O livro eh extenso? " + p2.ehExtenso());
	}
}

O erro que aparece nisso aí é “cannot find symbol”, daí tem uma flechinha apontando pros pontos, tipo em p1.autor

primeira vez que uso isso aqui, por isso q ta tudo estranho aí em cima, n faço ideia de como arrumar

Vamos lá…

A questão ai não é o Java, e sim o conceito de orientação a objeto.

Pode postar a classe Produto ?

a primeira classe lá em cima, nao sei como deixa tudo dentro do qudradinho

Perfeito, o problema é que você está declarando o item do tipo Produto e não do tipo Livro, o atributo autor só existe na classe Livro :slight_smile: . Dessa forma, declare Livro p1 = new Livro(); Livro p2 = new Livro();

Abs.

1 curtida

valeu sangue bom, tenha uma otima semana