Em programas Java , todas as variáveis são dadas um tipo específico e imutável quando são declarados em primeiro lugar. Assim, se você criar uma variável inteira chamada " numApples ", você não pode alterar essa variável para um casal ou string como o programa está sendo executado. Essa qualidade torna Java uma linguagem " fortemente tipado " e permite que ele para pegar um número de possíveis problemas como o programa compila em vez de enquanto o programa está sendo executado. Um dos possíveis problemas é uma operação usando tipos incompatíveis . Porque
Existem vários bugs diferentes que podem causar Java para lançar um erro tipo incompatível ao compilar o seu programa. No erro mais simples, você pode ter tentado atribuir um tipo incompatível para uma variável. Por exemplo , se você criou uma variável inteira , você não pode atribuir o valor 1.3 para ele. Você também pode ter tentado passar uma variável incompatível para um método , um método que só aceita uma matriz de strings como argumento não pode aceitar uma única cadeia. Este problema também pode ser causado pelo uso de uma sintaxe incorreta em uma comparação booleana. Se você tentar verificar se as numApples inteiros é igual a 1 ( numApples == 1 ), mas você omitir um sinal de igual, você em vez disso, afirmam que numApples é igual a 1 ( numApples = 1). A primeira declaração é avaliada como um tipo boolean enquanto o segundo avalia a um tipo inteiro. Se você colocar a segunda instrução em uma função onde um tipo boolean é necessário , o programa irá lançar um erro tipos incompatíveis.
Fundição
Se você precisa passar por um variável para um método que não suporta esse tipo particular de variável, você pode ser capaz de lançá-lo para outro tipo. Por exemplo, se um método suporta apenas números inteiros , mas você quer passar um duplo, você pode converter temporariamente o dobro de um número inteiro , acrescentando " (int) " na frente da variável dupla como você passá-lo para o método. Fundição não irá alterar a variável armazenada , mas pode alterar o valor que está lançada. Lançando um duplo que é equivalente a 3,2 para um número inteiro retornará o inteiro 3.
Sobrecarga
Se você precisa passar diferentes tipos de variáveis para o mesmo método , você pode criar um método sobrecarregado . Métodos sobrecarregados são duplicatas de um método que tem o mesmo nome, mas aceitam argumentos diferentes. Por exemplo, você pode criar duas versões de um método add na mesma classe , que aceita dois valores de casal e outro que aceita dois valores float . Se você ligar para somar e passar dois valores float , o programa irá executar automaticamente o método que você especificou para valores float .
Herança
Ao trabalhar com tipos avançados, você pode evitar erros de tipos incompatíveis , definindo um método para aceitar o pai de qualquer tipo que você quer passar para ele. Por exemplo , se você criou um método para calcular a metragem quadrada de um edifício , você deve configurá-lo para aceitar um edifício como seu argumento :
dupla calculateSquareFootage (entrada do edifício )
Você pode, então, passar em qualquer tipo de dados que herda o tipo de dados de construção, tais como escola , prisão ou hospital tipo de dados.