I have a question about the code below.
When I run the project, marks an error in the calling of ImprimirDatos() method, the errors says:
cannot find symbol. symbol: method ImprimirDatos(). location: class Articulo.
I wrote the method in the subclass deRevista. I don't understand why is asking for the method to be in the base class.  
NOTE: If you see something unusual in my code, feel free to 'correct' it, I'm totally new in this subject.
interface ImprDatos
{
    String ImprimirDatos();
}
class Autor
{
    private String nombre;
    private String adscripcion;
    Autor(String nombre,String adscripcion)
    {
        this.nombre=nombre;
        this.adscripcion=adscripcion;
    }
    String getNombre()
    {
        return nombre;
    }
    String getAdscripcion()
    {
        return adscripcion;
    }
    void setNombre(String nombre)
    {
        this.nombre=nombre;
    }
    void setAdscripcion(String adscripcion)
    {
        this.adscripcion=adscripcion;
    }
}
abstract class Articulo 
{
    private String nombre;  
    private Autor autores[]=new Autor[4]; 
    private String fechaPublicacion;
    private int codigo;
    Articulo(String nombreArt,String fechaPublicacion, String nombre,String adscription,String nombre1,String adscripcion1,int codigo)
    {
        this.nombre=nombreArt;
        this.fechaPublicacion=fechaPublicacion;
        autores[0]=new Autor(nombre,adscripcion);
        autores[1]=new Autor(nombre1,adscripcion1);
        autores[2]=new Autor(nombre,adscripcion);
        autores[3]=new Autor(nombre1,adscripcion1);
        this.codigo=codigo;    
    }
    Articulo()
    {
    }
    String getNombre()
    {
        return nombre; //del articulo
    }   
    String getfechaPublicacion()
    {
        return fechaPublicacion;
    }  
    int getCodigo()
    {
        return codigo;
    }
    String getAutores()
    {
        String c=null;
        c=autores[0].getNombre()+" "+autores[0].getAdscripcion()+" 
 "+autores[1].getNombre()+" "+autores[1].getAdscripcion();
        return c;
    }
    void setAutores(Autor[] autores) 
    {
        this.autores = autores;
    } 
    void setNombre(String nomArt)
    {
        nombre=nomArt;
    }
    void setfechaPublicacion(String fechaPublicacion)
    {
        this.fechaPublicacion=fechaPublicacion; 
    }
    void setcodigo(int cod)
    {
        codigo=cod;
    }    
}
class deRevista extends Articulo implements ImprDatos
{
    private String nomRevista; 
    private int añoEdicion; 
    deRevista(){}
    deRevista(String nombreArt,String fechaPublicacion, String 
    nombre,String adscripcion,String nombre1,String adscripcion1,String 
    nomRevista,int añoEdicion,int codigo)
    {
        super(nombreArt,fechaPublicacion,nombre,adscripcion,nombre1,adscripcion1,
 codigo);
        this.añoEdicion=añoEdicion;
        this.nomRevista=nomRevista;    
     }
     void setañoEdicion(int nom)
     {
         añoEdicion=nom;
     }
     int getañoEdicion()
     {
         return añoEdicion;
     }
     void setnomRevista(String nom)
     {
         nomRevista=nom;
     }
     String getnomRevista()
     {
         return nomRevista;
     }
     public String ImprimirDatos()
     { 
         return " Nombre del articulo: " + getNombre() + " Nombre de la 
  revista: " + getnomRevista() 
        + " Año de edicion: " + getañoEdicion() + " Autores: " +
           getAutores() + " Codigo: " + getCodigo() + " Fecha de 
  publicacion: "
        + getfechaPublicacion();
     }
 }  
class deCongreso extends Articulo implements ImprDatos
{
    private String nomCongreso;
    deCongreso(){}   
    deCongreso(String nombreArt,String fechaPublicacion, String 
nombre,String adscripcion
        ,String nombre1,String adscripcion1,String nomCongreso,int 
codigo)
   {
        super(nombreArt,fechaPublicacion,nombre,adscripcion,nombre1,adscripcion1,codigo);
        this.nomCongreso=nomCongreso;
    }
    void setnomCongreso(String nom)
    {
        nomCongreso=nom;
    }
    String getnomCongreso()
    {
        return nomCongreso;
    }
    public String ImprimirDatos() 
    { 
        return "Nombre del articulo: " + getNombre() + " Nombre de la 
 revista: " + getnomCongreso()
        + " Autores: "+getAutores() + " Codigo: " + getCodigo() + " 
 Fecha de publicacion: "
        + getfechaPublicacion();  
    }    
}
public class Articulo17ago
{  
    public static void main(String[] args) 
    {  
        Scanner x=new Scanner(System.in);
        String  au1[]=new String[4];
        String ads1[]=new String[4];
        Articulo y[]=new Articulo[4]; 
        //ARTICULO DE REVISTA:
        for(int i=0;i<2;i++)
        {
            System.out.println("Introduzca el nombre del articulo");
            String art=x.nextLine();
            System.out.println("Introduzca el nombre de la revista");
            String rev=x.nextLine();
            System.out.println("Introduzca el año de edicion");
            int año=x.nextInt();
            System.out.println("Introduzca el codigo ISSN");
            int cod=x.nextInt();
            System.out.println("Introduzca la fecha de publicacion");
            x.nextLine();   
            String fec=x.nextLine();
            for(int k=0;k<2;k++)
            {
                System.out.println("Introduzca el nombre del autor");
                au1[k]=x.nextLine();
                System.out.println("Introduzca la adscripcion del autor");
                ads1[k]=x.nextLine(); 
            }
            y[i]=new deRevista(art,fec,au1[0],ads1[0],au1[1],ads1[1],rev,año,cod);
        }
        for(int i=0;i<2;i++)
            System.out.println("Datos: "+y[i].ImprimirDatos());
        //ARTICULO DE CONGRESO:
        for(int i=2;i<4;i++)
        {
            System.out.println("Introduzca el nombre del articulo");
            String art=x.nextLine();
            System.out.println("Introduzca el nombre del congreso");
            String rev=x.nextLine();
            System.out.println("Introduzca el codigo ISBN");
            int cod=x.nextInt();
            System.out.println("Introduzca la fecha de publicacion");   
            x.nextLine();
            String fec=x.nextLine();
            for(int k=2;k<4;k++)
            {
                System.out.println("Introduzca el nombre del autor");
                au1[k]=x.nextLine();
                System.out.println("Introduzca la adscripcion del autor");
                ads1[k]=x.nextLine(); 
            }
            y[i]=new deCongreso(art,fec,au1[2],ads1[2],au1[3],ads1[3],rev,cod);
        }
        for(int i=2;i<4;i++)
            System.out.println("DATOS: " + y[i].ImprimirDatos());
    }    
}
 
     
    