Boa Tarde Matheus,
Vou separar suas perguntas em dois para ficar mais fácil a resposta :)
Eu não tenho que passar parametros nos construtores obrigatoriamente certo?
Exatamente, o construtor funciona mais ou menos como os outros métodos e por isso não importa passar parâmetros.
Já respondendo sua segunda pergunta, o construtor ele é chamado na criação do objeto construido, então ele executara o código que se encontra dentro dele independente de se foi passado um argumento ou não.
E nesses parametros eu posso passar metodos?
Sim você pode passar métodos como parâmetros porém é um pouco complicado e talvez seja abordado em tópicos posteriores no curso.
Porém caso você queira você pode criar esse método dentro da classe e chamar-lo na execução. ALgo mais ou menos assim:
public class Main{
public static void main (String[] args) {
new Teste();
}
}
public class Teste{
public Teste(){
printHi();
}
public void printHi(){
System.out.println("Hi");
}
}
Se você reparar o método printHi foi declarado fora do contrutor, porém mesmo assim executa quando crio um novo teste.
Deixei aqui um exemplo do código para que você possa ver a saída.
Espero ter ajudado!