Buenas tardes, yo por el contrario uso Eclipse asi que es un poco mas dificil el ver los objetos asi que cree constructores con atributos vacios.
No se si seria molestia que puedan observar mi codigo y decirme si esta bien o mal o si no es necesario lo que hice.
Les paso el codigo...
import java.util.Calendar;
public class Productos {
Calendar fechaEnvasado;
Calendar fechaCaducidad;
int numeroLote;
String paisOrigen;
//-----------------------------------------------------------------------
//Constructores
public Productos(){
this.fechaEnvasado =Calendar.getInstance();
this.fechaCaducidad =Calendar.getInstance();
this.numeroLote = 0;
this.paisOrigen = "";
System.out.println("Se creo un objeto con valores Predeterminados:"
+ "\nFecha Envasado: "+fechaEnvasado.getTime().toString()+
"\nFecha Caducidad: "+ fechaCaducidad.getTime().toString()+
"\nNumero Lote: "+numeroLote+
"\nPais Origen: "+paisOrigen);}
public Productos(Calendar fechaEnvasado, Calendar fechaCaducidad,
int numeroLote, String paisOrigen) {
super();
this.fechaEnvasado = fechaEnvasado;
this.fechaCaducidad = fechaCaducidad;
this.numeroLote = numeroLote;
this.paisOrigen = paisOrigen;
System.out.println("Se creo un objeto con valores:"
+ "\nFecha Envasado: "+fechaEnvasado.getTime().toString()+
"\nFecha Caducidad: "+ fechaCaducidad.getTime().toString()+
"\nNumero Lote: "+numeroLote+
"\nPais Origen: "+paisOrigen);}
//-----------------------------------------------------------------------
// Metodos Getters
public Calendar getFechaEnvasado() {return fechaEnvasado; }
public Calendar getFechaCaducidad() {return fechaCaducidad; }
public int getNumeroLote() {return numeroLote; }
public String getPaisOrigen() { return paisOrigen; }
// Metodos Setters
public void setFechaEnvasado(Calendar fechaEnvasado) {
this.fechaEnvasado = fechaEnvasado; }
public void setFechaCaducidad(Calendar fechaCaducidad) {
this.fechaCaducidad = fechaCaducidad; }
public void setNumeroLote(int numeroLote) {
this.numeroLote = numeroLote; }
public void setPaisOrigen(String paisOrigen) {
this.paisOrigen = paisOrigen; }
}//Cierre De Clase
import java.util.Calendar;
public class ProdFresco extends Productos{
//Constructores
//-----------------------------------------------------------------------------------
public ProdFresco() {
super();
fechaEnvasado=Calendar.getInstance();
paisOrigen="";
System.out.println("Se creo un objeto Productos Fresco con valores predeterminados");
}
public ProdFresco(Calendar fechaEnvasado, Calendar fechaCaducidad,
int numeroLote, String paisOrigen) {
super(fechaEnvasado, fechaCaducidad, numeroLote, paisOrigen);
}
//-----------------------------------------------------------------------------------
public void imprimirObj(){
System.out.println("Tipo: ProdFresco \nFecha caducidad: "+getFechaCaducidad()+
"\nCon Numero de Lote: "+getNumeroLote()+"\nFecha envasado: "+getFechaEnvasado()+
"\nPais De Origen: "+getPaisOrigen());
}
//-----------------------------------------------------------------------------------
}//Cierre de la clase
import java.util.Calendar;
public class ProdEnvasado extends Productos{
int tempRecomendable;
//Constructores
//------------------------------------------------------------------
public ProdEnvasado() {
super();
this.tempRecomendable = 0;
System.out.println("Se creo un objeto Producto Envasado con valores Predeterminados:"+
"\nTemperatura Recomendable: "+tempRecomendable); }
public ProdEnvasado(Calendar fechaEnvasado, Calendar fechaCaducidad,
int numeroLote, String paisOrigen) {
super(fechaEnvasado, fechaCaducidad, numeroLote, paisOrigen);
this.tempRecomendable=0;
System.out.println("Se creo un objeto Producto Envasado con:"
+ "\nTemperatura Recomendable: "+tempRecomendable); }
//------------------------------------------------------------------
//Metodos Getters
public int getTempRecomendable() {return tempRecomendable;}
//Metodos Setters
public void setTempRecomendable(int tempRecomendable) {
this.tempRecomendable = tempRecomendable;}
//------------------------------------------------------------------
}
import java.util.Calendar;
public class ProdRefrigerado extends ProdEnvasado{
String codSupAlimentaria;
//Constructores
//----------------------------------------------------------------------
public ProdRefrigerado() {
super();
this.codSupAlimentaria = "";
System.out.println("Se creo un objeto Prodcuto Refrigerado con valores Predeterminados:"
+ "\nCodigo Supervision Alimentaria: "+codSupAlimentaria); }
public ProdRefrigerado(Calendar fechaEnvasado, Calendar fechaCaducidad,
int numeroLote, String paisOrigen) {
super(fechaEnvasado, fechaCaducidad, numeroLote, paisOrigen);
System.out.println("Se creo un objeto Prodcuto Refrigerado con valores:"
+ "\nCodigo Supervision Alimentaria: "+codSupAlimentaria); }
//----------------------------------------------------------------------
public void imprimirObj(){
System.out.println("Tipo: ProdRefrigerado \nFecha caducidad: "+getFechaCaducidad()+
"\nCon Numero de Lote: "+getNumeroLote()+
"\nCodigo Organismo Supervision Alimentaria: "+getCodSupAlimentaria());
}
//----------------------------------------------------------------------
//Metodos Getters
public String getCodSupAlimentaria() {return codSupAlimentaria;}
//Metodos Setters
public void setCodSupAlimentaria(String codSupAlimentaria) {
this.codSupAlimentaria = codSupAlimentaria;}
}//Cierre De Clase
public class ProdCongelado extends ProdEnvasado{
int temperaturaCRec;
//Constructores
//--------------------------------------------------------------------
public ProdCongelado() {
super();
System.out.println("Se ha creado un producto Congelado");
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
//Metodos Getters
//Metodos Setters
}//Cierre de clase
public class ProdCongAgua extends ProdCongelado{
double salinidad;
final String valorSalinidad= salinidad+" GramosSal/Litro";
//Constructores
//--------------------------------------------------------------------
public ProdCongAgua() {
super();
this.salinidad = 0.00;
System.out.println("Se creo un objeto Prodcuto Congelado Con Agua con valores Predeterminados"
+valorSalinidad);}
//--------------------------------------------------------------------
//Metodos Getters
public double getSalinidad() {return salinidad;}
//Metodos Setters
public void setSalinidad(double salinidad) {
this.salinidad = salinidad; }
}//Cierre de clase
Como pueden ver a la clase super puse sin atributos, no se que diferencia puede ocasionar esto.
Para crear objetos hice esta clase
import java.util.*;
public class CreadorObjs {
static String[] escogerArr= new String[]{"fresco","refrigerado","congelado"};
public static void main (String[] args){
Scanner sc = new Scanner(System.in);
ProdCongNitrogeno prodFresco = new ProdCongNitrogeno();
}}
La clase CreadorObj esta cortada, por eso es que tengo el scanner activado y creado el array
Espero su pronta respuesta muchas gracias....