Segue minha resolução com Obs no final:
Produtos:
public class Produtos {
String nome;
int quantidade;
double preco;
public Produtos(String nome, int quantidade, double preco){
this.nome = nome;
this.preco = preco;
this.quantidade = quantidade;
}
@Override
public String toString() {
return "Nome: "+ nome + ", Preço: "+ preco + ", Quantidade: "+ quantidade+ "\n";
}
}
ProdutoPerecivel:
public class ProdutoPerecivel extends Produtos{
String dataDeValidade;
public ProdutoPerecivel(String nome, int quantidade, double preco, String dataDeValidade) {
super(nome, quantidade, preco);
this.dataDeValidade = dataDeValidade;
}
@Override
public String toString() {
return super.toString() + ", Data de validade: "+ dataDeValidade;
}
}
Main:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Produtos> produtos = new ArrayList<>();
produtos.add(new Produtos("Abajur",1, 45.60));
produtos.add(new Produtos("Monitor",1, 999.90));
produtos.add(new Produtos("Gaiola",2,75));
produtos.add(new ProdutoPerecivel("Maça",1,2.50,"19/03"));
produtos.size();
System.out.println("Primeiro item do carrinho: \n"+ produtos.get(2));
System.out.println(produtos.toString());
}
}
OBS: Tive que quebrar um pouco a cabeça para saber como que poderia criar um item direto de um objeto, mas pesquisei e deu tudo certo. Umas dúvidas eu ainda não to conseguindo direito saber as funcionalidades do toString ele é como se fosse um sout porém para objetos? E quando usar o this/super.
E quando colocar o que está em vermelho na imagem a baixo, não só em Object mas em outros casos.:
E tbm o caso dos Arrays, no exercicío acima eu dispensei o uso de get/set, pois imaginei que os objetos fariam o trabalho deles, certo? E não invoquei a classe produtos como fazia usando Produtos produto = new... pelo oq eu percebi o próprio Array já invoca a classe estou correto? E o return? quando eu uso ou modifico oq retorna.. oq eu posso fazer para saber a hora de mudar para outra coisa ex:. return "Exemplo "+ conta.banco; se puder gostaria de ver uns exemplos para eu entender onde e oq fazer...