En los programas de Java , todas las variables se les da un tipo específico e inmutable cuando se declaran primero . Por lo tanto , si crea una variable entera llamada " numApples , " no se puede cambiar esa variable a un doble o cadena que se ejecuta el programa . Esta cualidad hace que Java un lenguaje " inflexible " y le permite tomar un número de posibles problemas como el programa compila en lugar de mientras el programa se está ejecutando. Uno de los problemas potenciales es una operación que usa tipos incompatibles . Causa
Hay varios errores diferentes que pueden causar Java para lanzar un error tipo incompatible , mientras que compilar su programa. En el error más simple, es posible que haya intentado asignar un tipo incompatible de una variable. Por ejemplo , si ha creado una variable entera , no se puede asignar el valor de 1,3 a la misma. Puede que también se intentara pasar una variable incompatible en un método , un método que sólo acepta una matriz de cadenas como argumento no puede aceptar una sola cadena. Este problema también puede ser causada por el uso de una sintaxis incorrecta en una comparación booleana . Si intenta comprobar si los numApples enteros es igual a 1 ( numApples == 1 ), pero omite un signo de igualdad , tendrá lugar del estado que numApples es igual a 1 ( numApples = 1 ) . La primera instrucción se evalúa como un tipo booleano , mientras que el segundo se evalúa como un tipo entero . Si se coloca la segunda declaración en una función que es necesario un tipo booleano , el programa generará un error tipos incompatibles.
Casting
Si usted necesita para pasar una variable a un método que no admite ese tipo de variable, puede ser capaz de convertirlo a otro tipo. Por ejemplo , si un método sólo admite números enteros , pero desea pasar un doble , puede convertir temporalmente el doble de un número entero añadiendo " (int ) " delante de la variable doble que se le pasa al método. De reparto no alterará la variable almacenada pero puede alterar el valor que se echa . Lanzar un doble que es equivalente a 3.2 a un entero devolverá el entero 3 .
Sobrecarga
Si necesita pasar diferentes tipos de variables a la mismo método , puede crear un método sobrecargado . Los métodos sobrecargados son duplicados de un método que tiene el mismo nombre, pero aceptan diferentes argumentos. Por ejemplo , podría crear dos versiones de un método add en la misma clase , que acepta dos valores dobles y otro que acepta dos valores de coma flotante . Si se llama a sumar y pasar dos valores de coma flotante , el programa se ejecutará automáticamente el método que ha especificado para valores flotantes .
Herencia
Cuando se trabaja con tipos avanzados , usted puede evitar tipos incompatibles errores al establecer un método para aceptar a los padres de cualquier tipo que desea pasar en ella. Por ejemplo , si ha creado un método para calcular los metros cuadrados de un edificio , debe configurarlo para que acepte un edificio como su argumento :
doble calculateSquareFootage (entrada Edificio)
A continuación, puede pasar en cualquier tipo de datos que se hereda el tipo de datos de construcción , tales como la escuela , la cárcel o el tipo de datos del hospital
.