Hola geoman777.
Antes de comentar tu ejercicio e intentar aclarar tu duda quisiera hacerte una aclaración. Para facilitar la lectura del código que se adjunta en un post debes incluirlo en un "cuadro" de código. Para ello debes pulsar el botón #, que aparece entre las herramientas que tienes disponibles cuando escribes un post. Después debes pegar el código entre los campos de código que te aparecen: [ code]
Aquí pegas tú código [ /code]. Si el código es muy grande o son varios archivos puedes optar por adjuntar directamente los archivos a tu post. Te adjunto el siguiente link de otro tema del foro para mayor aclaración:
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0Tú ejercicio está perfectamente planteado, al menos yo no veo ningún error ni nada que señalarte.
Sobre tú duda con las variables boolean... las variables pueden adquirir el valor que tú como programador creas necesario o conveniente en cada caso. También puede ser que la tarea que estes llevando a cabo te obligue a establecer unos valores determinados. Y también puede darse el caso que tras realizar algunas operaciones necesarias para resolver un problema en concreto, estas adquieran un valor calculado por el código.
En este caso en particular, como estas creando un constructor que no recibe parámetros y que solo inicializa los atributos (variables) de la clase, por norma general estos se inicializan vacios o a cero, y en el caso de una variable boolean a false. Más adelante el curso te mostrará como crear un constructor que recibe parámetros, y dichos parámetros establecerán los valores de cada atributo de la clase, cuando un objeto de dicha clase sea creado.
Te expongo un ejemplo sencillo de una utilidad que podría tener esta clase "Persona". Supongamos que estas realizando el censo de una población, como mínimo tendrás: por un lado una clase "ListaDePersonas", que agrupará en una lista o tabla a todas las personas, y por otro lado tendrás la propia clase "Persona". Al inicio del programa se creará un objeto del tipo "ListaDePersonas", que contendrá todos los objetos "Persona" que se creen. A veces crearemos un objeto "Persona" delante de la puerta de una casa, antes de hablar con una persona real, pero ya sabemos que vamos a censar al menos a una persona, aunque no conocemos sus datos. En este caso crearíamos un objeto "Persona" con un constructor sin parámetros, puesto que no conocemos ningún dato de dicha persona real, y por supuesto todos sus atributos estarán vacios hasta el momento en el que la persona real nos diga sus valores (los rellenaremos con los métodos setters). Otras veces llamaremos a la puerta y hablaremos con la persona real antes de crear un objeto "Persona". Ella nos dará sus datos y podremos usarlos como parámetros para crear un objeto "Persona" con todos sus atributos "llenos", es decir, sabremos su nombre, apellidos, si está casado (true) o sino lo está (false), en el momento exacto en el que creamos el objeto "Persona".
Espero haberte servido de ayuda. Si tienes más dudas no te cortes y pregunta lo que quieras.
Un saludo!