Uma dúvida que parece ser simples

Comecei a programar a pouco tempo, e estou em POO. Após várias atividades, decidi fazer meu primeiro projeto por minha conta juntando uma coisa que eu curto com a programação e me deparei com um erro que não consigo solucionar,eu queria que quando eu retornasse o MonstroAquatico() aparecesse o que tem lá.

O objetivo do programa é gerar alguma coisa (que pode ser selecionada o nível de aleatoriedade) aleatoriamente.

public class RANDOMRPG {
	public void main(String[] args) {
		System.out.println("Os comandos são respectivos (1 para o primeiro...)");
		System.out.println("Também use 1 para sim e 2 para não. (CopyRigth: ZÉPEDOTOP)");
		
		Scanner esc = new Scanner(System.in);
		
		System.out.println("Voce deseja: uma criatura?(1) um NPC ?(2) ou um evento(3)");
		int num1 = esc.nextInt();
		
		if (num1 == 1) {
			System.out.println("Uma criatura,total random(1) ou quer escolher o tipo?(2)");
			int num2 = esc.nextInt();
			
			if (num2 == 2) {
				System.out.println("Criatura voadora(1),terreste(2),aquática(3) ou anfibia(4) ?");
				int num22 = esc.nextInt();
				
				if (num22 == 3 ) {
					**return Monstrosaquaticos();**   < --- ocorre aqui
				}
			}
		}
		
		if (num1 == 2) {
			System.out.println("Um NPC,total random(1) ou quer escolher seu grau de importancia(2)?");
			int num3 = esc.nextInt();}
			
			if (num1 == 3) {
				System.out.println("Um evento,escolha o tipo de lugar ou não");
				int num4 = esc.nextInt();
			}
			
			if (num1 < 1) {
				System.out.println("Use apenas os números indicados para as perguntas.");}
				
				if (num1 > 3) {
					System.out.println("Use apenas os números indicados para as perguntas.");
				}
package random.rpg;

import java.util.Random;

public class Monstros {

	public Monstros() {
		Random geradorG = new Random();
		int x = geradorG.nextInt(99);
		
		Random geradorA = new Random();
		int a = geradorA.nextInt(99);
	}
}
package random.rpg;

public class Monstrosaquaticos extends Monstros {
	Monstrosaquaticos(int a) {
		if (a == 1) {
			System.out.println("aaaaaa");
		} else {
			System.out.println ("étop");
		}
	}
}

Sim,é bem simples e tem muito onde melhorar e muitas coisas que estão lá apenas por teste,mas primeiro penso em fazer ele funcionar de uma maneira rudimentar e ir aprimorando até colocar interfaces e tal.
De qualquer forma muito obrigado da ajuda,um aprendiz agradece <3.

Você está tentando retornar um objeto na classe main e isso não pode acontecer por que o mesmo é do tipo void, creio que você queria fazer era “new monstroAquatico”.

Recomendo criar uma classe chamada Player, para poder fazer um inventário e aí colocar esse “new MonstroAquaticos()” dentro do inventário, sabe, uma coisa mais RPG, só uma ideia.

Mas colocando o “new MonstroAquaticos()” já vai resolver o problema que você encontrou, só vai ficar sem sentido.

Esqueci de dizer a parte mais importante da pergunta ASHAUSHUSA,eu quero puxar a informação que tem na classe MonstroAquaticos,no caso aqueles println,o fundamento do programa é gerar um monstro aleatório (podendo decidir o nivel de tipo do monstro)