Buon pomeriggio a tutti,
stavo studiando il pattern DAO, e girando x la rete è saltato fuori questo sorgente:
codice:
package it.un.sls.sampleproject.dao;  

public abstract class DAOFactory { 	 	// --------------------------------------------------------------------------- 	 	public static DAOFactory getDAOFactory(String whichFactory) { 		
try { 			
return (DAOFactory) Class.forName(whichFactory).newInstance(); 	
} catch (ClassNotFoundException e) {
 	 // TODO Auto-generated catch block 			
       e.printStackTrace(); 		
	return null; 		}
 catch (InstantiationException e) { 		
	// TODO Auto-generated catch block 			     
           e.printStackTrace(); 	
	 return null; 	
	} catch (IllegalAccessException e) { 	
		// TODO Auto-generated catch block 
			e.printStackTrace(); 		
        	return null; 		} 
	} 	 	// --------------------------------------------------------------------------- 	 	public abstract AuthorDAO getAuthorDAO(); 
public abstract BookDAO getBookDAO(); 	
public abstract PublisherDAO getPublisherDAO(); 	 }
Come ben potete osservare all'interno di questa classe esiste un metodo statico che non fa altro che creare un oggetto di questa classe, ... come è possibile? Che io sappia non si può creare un'istanza di una classe astratta in quanto appunto presenta dei metodi astratti...
Mi date qualche input per favore?