Q:

Passar parâmetro sem especificar o tipo da variável a receber na função

Estou a criar uma função em Java que retorna o tipo da variável e como tal, uma vez que estou a tentar desvendar o seu tipo, não tenho maneira de dizer à função que tipo de variável esperar.
O que estou a tentar construir é o seguinte:
public String getVarType(AnyType var){
    if (var instanceof ArrayList) {
        return "ArrayList";
    }
    if (var instanceof String) {
        return "String";
    }
}

Como posso definir nos parâmetros para a função esperar qualquer tipo?

A:

Se você está querendo saber o tipo do objeto, trabalhe com Object. Afinal, toda classe Java é subclasse de Object implicitamente. Para checar o tipo do objeto, você pode criar um método para isto:
public String getObjectName(Object o){
   return o.getClass().getSimpleName(); 
}

No qual ao ser chamado resutará em:
getObjectName(new ArrayList()); // ArrayList
getObjectName(new String()); //String

String abc = "abc";
getObjectName(abc); // String

Há um porem, se você tentar usar o método acima com uma variável int a = 10; o retorno será 10. Pelo que pesquisei não tem como obter o tipo de dados primitivos por questões óbvias.
Se a sua aplicação necessita fazer essa comparação, você pode trabalhar com classes numéricas (Integer para int, Double para double, etc...), nesses casos o método mencionado acima funcionaria.
Integer integer = 10;
System.out.println(getObjectType(integer)); // Integer

Funcionando no Repl.it

