style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Heredar una clase a otra

Hola buen dia amigos! me estoy iniciando en lo que es lengueje de programación en java, y quiero ver si me pueden ayudar con esto.

Los pogramas que estoy realizando son ejercicios sencillos a trváves de la consola y estoy realizando uno especificamente de herencia.

Tengo mi clase Fecha que va a heredar a FechaDetallada.

Cuando intentento compilar FechaDetallada me genera un error:

javac: file not found ../ruta.FechaDetallada.java

quiero aclarar que las dos clases se encuentran en el mismo dorectorio.

//clase fecha
public class Fecha
{
//atributos
private int day, month, year;

//retorna la fecha expresada en dias
public int fechaToDias()
{
//
return year*360 + month*30 + day;
}

//asigna la fecha expresada en dias a los atributos
private void diasToFecha(int i)
{
//divide entre 360 y se obtiene el año
year=(int) i/360;

//del resto de la división anterior se obtiene el mes y el dia
int resto=i%360;

//el mes es resto divido entre 30
month=(int)resto/30;

//el resto de la división anterior son los dias
day=resto%30;

//ajuste si dia quedo en cero
if(day==0)
{
day=30;
month--;
}

//ajuste si el mes quedo en cero
if(month==0)
{
month=12;
year--;
}

}//end method diasToFecha

public void addDias(int d)
{
//convierto la fecha a dias y le sumo d
int sum=fechaToDias()+d;

//la fecha resultante la separo en dia, mes y año
diasToFecha(sum);
}

//Constructor con argumentos string
public Fecha(String s)
{
//se busca la primera ocurrencia
int pos1=s.indexOf('/');

//se busca la segunda ocurrencia
int pos2=s.lastIndexOf('/');

//se procesa el dia;
String sDay=s.substring(0, pos1);
day=Integer.parseInt(sDay);

//se procesa el mes;
String sMonth=s.substring(pos1+1, pos2);
month=Integer.parseInt(sMonth);

//se procesa el año;
String sYear=s.substring(pos2+1);
year=Integer.parseInt(sYear);
}

public Fecha(int d, int m, int y)
{
day=d;
month=m;
year=y;
}//end Constructor fecha

//constructor sin argumentos
public Fecha()
{

}

//method equals
public boolean equals(Object o)
{
Fecha otra = (Fecha) o;
return (day==otra.day) && (month==otra.month) && (year==otra.year);
}

//method toString
public String toString()
{
//regresa la cadena tal cual queremos que se vea la fecha
return "Fecha: "+day+"/"+month+"/"+year;
}

//methods setters
public void setDay(int day)
{
//asigna el valor del parametro a la variable
this.day=day;
}

public void setMonth(int month)
{
//asigna el valor del parametro a la variable
this.month=month;
}
public void setYear(int year)
{
//asigna el valor del parametro a la variable
this.year=year;
}

//methods getterstii
public int getDay()
{
//regresa el valor de la variable
return day;
}
public int getMonth()
{
//regresa el valor de la variable
return month;
}
public int getYear()
{
//regresa el valor de la variable
return year;
}

}//end Class Fecha

//clase FechaDetallada
public class FechaDetallada extends Fecha
{
private static String months [] = {"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "OCtubre", "Noviembre", "Diciembre"};

public String toString()
{
return getDay()+ " de "+ meses[getMonth()-1]+" de " + getYear();
}

}//end class FechaDetalla

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de adrianaaae

Linea de comandos

Por lo que entiendo estas tratando de compilar los archivo java pero en el comando le estás mandando mal la dirección del archivo FechaDetallada.java por eso te dice que no lo encuentra; verifica que el directorio sea el correcto.

Si el directorio es correcto puedes checar este artículo

Saludos.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">