Cela peut être une question un peu stupide, mais je suis nouveau pour Lamda Expressions et la programmation en général.Les interfaces et classes utilisées dans une expression Lambda peuvent-elles être placées dans des fichiers séparés?
Après avoir expérimenté autour avec Lambda Expression comme ceci:
interface Starter {
public void start();
}
class Machine {
public void run(Starter s) {
System.out.println("Running code....");
s.start();
}
}
public static void main(String[] args){
Machine mac1 = new Machine();
mac1.run(() -> System.out.println("Hello World"));
}
Il m'a fait me demande, si l'interface et la classe (machine dans ce cas) peut être déplacé dans des fichiers séparés pour que cela fonctionne toujours? J'ai essayé de le faire comment je pense que cela fonctionnerait, mais cela n'a pas fonctionné, est-ce possible? et si oui, comment le faites-vous?
oui. tu peux le faire. – Optional
Il est * extrêmement * rare que plus d'une classe de niveau supérieur figure dans un fichier source unique. Bien que le langage le supporte, il n'est jamais fait dans le vrai travail. Je l'ai seulement vu dans de petits morceaux de code ad hoc, par ex. lors de la publication de code sur des sites de test/challenge en ligne. Donc, pour répondre à votre question: Oui, vous pouvez * toujours * mettre des classes de niveau supérieur dans des fichiers source * séparés *. – Andreas