supongo que ahora estas empezando con orientacion a objetos porque sino no me explico como os pueden poner este ejercicio para hacerlo asi, es mas facil hacerlo de forma "convencional". Yo tambien estoy empezando a programar, y lo haria asi, aunque el constructor no se para que lo necesitas:
import java.util.Scanner;
class Area {
public static int calcularArea(int base, int altura) {
int area;
area=(base*altura)/2;
return area;
}
public static double calcularArea(double base, double altura) {
double area;
area=(base*altura)/2;
return area;
}
public static long calcularArea(long base, long altura) {
long area;
area=(base*altura)/2;
return area;
}
}
public class areaTriangulo {
public static void main (String args[]){
Scanner sc = new Scanner (System.in);
System.out.println("1.-Entero");
System.out.println("2.-Double");
System.out.println("3.-Long");
int opcion=sc.nextInt();
switch(opcion){
case 1: System.out.println("Introduce la base");
int base1=sc.nextInt();
System.out.println("Ahora la altura");
int altura1=sc.nextInt();
System.out.println(Area.calcularArea(base1, altura1));
break;
case 2: System.out.println("Introduce la base");
double base2=sc.nextDouble();
System.out.println("Ahora la altura");
double altura2=sc.nextDouble();
System.out.println(Area.calcularArea(base2, altura2));
break;
case 3: System.out.println("Introduce la base");
long base3=sc.nextLong();
System.out.println("Ahora la altura");
long altura3=sc.nextLong();
System.out.println(Area.calcularArea(base3, altura3));
break;
}
}
}