Hola como estan
Soy nuevo en este foro y ando buscando ayuda para una tarea de programacion en java, he programado en c pero en java no me acostumbro a la sintaxis.
Apenas estoy empezando a prog. en java y mi tarea es sobre pedir a una persona su nombre y su fecha de nacimiento y apartir de eso crear su RFC
Las clases ya las tengo solo que el main(String[] args) y donde se piden los datos no se muy bien como ponerlos.
Les dejo codigos de las clases  y haber si me pueden explicar como poner el main te lo agradeceria bastante
public class Nombre { 
   private String nombrePila;
   private String apellidoPaterno;
   private String apellidoMaterno;    
   Nombre(String nombrePila, String apellidoPaterno, String apellidoMaterno){
      this.nombrePila = nombrePila;
      this.apellidoPaterno = apellidoPaterno;
      this.apellidoMaterno = apellidoMaterno;
   }
public void setNombrePila(String nombrePila){
      this.nombrePila = nombrePila;
   }   
public void setApellidoPaterno(String apellidoPaterno){
   this.apellidoPaterno= apellidoPaterno;
   }   
public void setApellidoMaterno(String apellidoMaterno){
   this.apellidoMaterno= apellidoMaterno;
   }
public String getNombrePila(){
   return nombrePila;   
   }
public String getApellidoPaterno(){
   return apellidoPaterno;
   }
public String getApellidoMaterno(){
   return apellidoMaterno;
   }
public String toString(){
   return this.nombrePila + " " + this.apellidoPaterno + " " + this.apellidoMaterno;
   }
}
public class Persona {
   private Nombre nombre;
   private Fecha fechaNacimiento;
   private RFC rfc;   
Persona(){
   nombre=null;
   fechaNacimiento=null;
   rfc=null;
   }
Persona(String nombrePila, String apellidoPaterno, String apellidoMaterno){
   nombre=new Nombre(nombrePila, apellidoPaterno, apellidoMaterno);
   }
public void setNombre(String nombre,String apellidoPaterno, String apellidoMaterno){
   this.nombre.setNombrePila(nombre);
   this.nombre.setApellidoPaterno(apellidoPaterno);
   this.nombre.setApellidoMaterno(apellidoMaterno);
   }
public void setFechaNacimiento(int dia, int mes, int anio){
   this.fechaNacimiento.setDia(dia);
   this.fechaNacimiento.setMes(mes);
   this.fechaNacimiento.setAnio(anio);
   }
public String getNombre(){
   return nombre.getNombrePila();
   }
public String getFechaNacimiento(){
   return fechaNacimiento.toString();
   }
public String getRFC(){
   return rfc.toString();
   }
public String toString(){
   return this.nombre +""+ this.fechaNacimiento +"" +this.rfc;
   }
}
public class Fecha {   
   private int dia;
   private int mes;
   private int anio;   
Fecha(){
   dia = 0;
   mes = 0;
   anio = 0;
   }   
Fecha(String fecha){   
   }
public void setDia(int dia){
   this.dia=dia;
   }
public void setMes(int mes){
   this.mes=mes;
   }
public void setAnio(int anio){
   this.anio=anio;
   }
public int getDia(){
   return dia;
   }
public int getMes(){
   return mes;
   }
public int getAnio(){
   return anio;
   }
public boolean validarFecha(int dia, int mes, int anio){
   if (((dia<=0)&&(mes<=0)&&(anio<=0)&&(dia>31)&&(mes>12)&&(anio>2000)) && (((mes==2)&&(dia>28)&&(anio%4!=0)) || ((mes==2)&&(dia>29)&&(anio%4==0))))
   {
      System.out.println("Fecha Invalida Formato--> (01/01/2000)");
      return false;
      }
   else
   return true;
}
public String toString(){
   return this.dia+"/"+this.mes+"/"+this.anio;
   }
}
public class RFC {      private String iniciales;
   private String fechaNacimiento;
   private String homoclave;   
public RFC(Nombre nombre, Fecha fechaNacimiento){   
   }
public void formarIniciales( Nombre nombre){ 
   iniciales=  nombre.getApellidoPaterno().charAt(0)+""+
   nombre.getApellidoPaterno().charAt(1)+""+
   nombre.getApellidoMaterno().charAt(0)+""+
   nombre.getNombrePila().charAt(0);
   }
public void formarFechaNacimiento(Fecha fechaNacimiento){
   this.fechaNacimiento= fechaNacimiento.getDia()+""+
   fechaNacimiento.getMes()+""+
   fechaNacimiento.getAnio();   
   }
public String formarHomoclave(){
   String homoclave = "";
   for (int i=0; i<3; i++)
   {
      int x = new Double(Math.random() * 9).intValue();
      homoclave = homoclave + x;
   }
   return  homoclave;
   }    
public String toString(){
   return iniciales + fechaNacimiento + homoclave;   
   }      
}
public class TestPersona //el main es el que no se como ponerlo y pedir datos con el scanner
{
     public static void main(String arg[])
     {
         Persona p=null;
         Nombre nombre=null;
         RFC rfc=null;
         Fecha fecha=null;            
     } 
}