Algumas línguas dar aos programadores a flexibilidade para colocar qualquer tipo de dados que eles querem em qualquer tipo de estrutura variável ou matriz que quiserem . Java , no entanto , não é uma das línguas . Ele é fortemente tipado . Este fato apresenta os desenvolvedores Java com uma série de restrições que moldam como eles devem projetar todo o código-fonte de seus programas. Fortemente digitado
O fato de que Java é fortemente tipado significa que os desenvolvedores devem declarar o tipo de dados de uma estrutura variável ou matriz vai realizar quando criá-la , ea variável ou matriz estrutura pode , consequentemente, apenas armazenar dados desse tipo . Essas restrições permitem que o compilador Java para verificar se há muitos bugs no código que pode causar sérios problemas quando o código é executado . Mas eles forçam o programador a projetar todo o programa de forma diferente do que um desenvolvedor que trabalha com uma linguagem de tipagem dinâmica .
Método Tipos
O fato de que Java é fortemente tipado vai além apenas ser capaz de colocar um único tipo de dados em uma determinada variável. Considerando que os métodos em linguagens como Python pode retornar qualquer tipo de variável para o programa principal , os programadores devem declarar o tipo de dados de um método Java retornará quando escrevê-lo. Métodos de Java pode retornar qualquer tipo de estrutura variável e matriz, ou os programadores podem declará-los como "vazio " para indicar que o método não estará retornando um valor. Conseqüentemente, se um programador Java quer um método com um único nome para retornar valores diferentes dependendo dos valores do programa principal passa como argumentos , ele terá que escrever uma versão separada do que o método para cada tipo de dados que ele precisa para voltar .
fundição
Java ser uma linguagem fortemente tipificada também dá origem à idéia de " casting. " Este é um processo onde um tipo de dados é convertido para o outro . Por exemplo, Java considera números com componentes decimais e números inteiros para ser dois tipos de dados diferentes. Para que os programadores Java para armazenar os resultados da aritmética com um decimal e um inteiro e planos sobre como armazenar o resultado em uma variável inteira , independentemente de se o resultado tem um componente decimal ou não, em seguida, o programador deve preventivamente converter o resultado como um inteiro. Isso fará com que o número de cair automaticamente seu componente decimal , mas permitir que o programador para armazená-lo na variável inteira .
Tipos de objeto
as mesmas restrições que o Java tem para tipos de dados e variáveis se aplica para armazenar objetos em estruturas de matriz e retornando objetos de métodos: eles devem ser declarados com a classe base Java instancia os objetos que eles possuem ou retornar. Os programadores devem projetar seu código fonte em conformidade. No entanto, os programadores de Java tem um pouco mais de flexibilidade no que diz respeito a objetos . Quando um programador declara um método ou uma matriz estrutura de uma classe , o método ou classe pode lidar com objetos dessa classe e objetos de qualquer classe que estende-lo . Por exemplo, tanto as classes " JTextField " e " JTextArea " da biblioteca GUI Swing do Java estender a classe " JComponent . " Isso significa que se um programador Java pode declarar uma matriz para armazenar objetos da classe " JComponent " em seguida, essa matriz também será capaz de segurar objetos da classe " JTextField " ea classe " JTextArea . "