Neki jezici pružaju programerima mogućnost stavljanja bilo kakvih podataka koje žele u bilo koju vrstu varijable ili strukture polja koja im se sviđa. Java, međutim, nije jedan od tih jezika. Jako je otkucano. Ova činjenica predstavlja Java programerima niz ograničenja koja oblikuju način na koji bi trebali osmisliti sav izvorni kod za svoje programe. Jako otkucano
Činjenica da je Java strogo tipiziran način na koji programeri moraju deklarirati tip podataka varijable ili strukture niza zadržat će se kada se ona stvori, a struktura varijable ili niza stoga može pohraniti samo podatke te vrste.. Ova ograničenja omogućuju Java prevoditelju da provjeri mnoge greške u kodu koje bi mogle uzrokovati ozbiljne probleme pri pokretanju koda. No, prisiljavaju programera da cijeli program osmisli drugačije od programera koji radi s dinamički upisanim jezikom.
Vrste metoda
Činjenica da je Java strogo kucani jezik nadilazi samo mogućnost stavljanja jedne vrste podataka u datu varijablu. Dok metode na jezicima poput Pythona mogu vratiti bilo koju vrstu varijable za glavni program, programeri moraju navesti koji tip podataka će Java metoda vratiti prilikom pisanja. Java metode mogu vratiti bilo koju vrstu promjenjive strukture, a niz ili programeri ih mogu deklarirati kao “prazne” kako bi naznačili da metoda neće vratiti vrijednost. Stoga, ako Java programer želi da metoda s jednim imenom vrati različite vrijednosti na temelju vrijednosti koje glavni program prenosi kao argumente, morat će napisati zasebnu verziju te metode za svaku vrstu podataka koja mu je potrebna. on se vraća.
lijevanje
Java je snažno tipiziran jezik također rađa ideju “lijevanja”. to je proces u kojem se jedna vrsta podataka pretvara u drugu. Na primjer, Java smatra da su broj decimalnih komponenti i cijeli brojevi dvije različite vrste podataka. Da bi Java programeri pohranili aritmetičke rezultate s jednim decimalnim i jednim cijelim brojem te planiraju pohraniti rezultat u cjelobrojnu varijablu, bez obzira na to ima li rezultat decimalnu komponentu ili ne, tada bi programer trebao preventivno odbaciti rezultat kao cijeli broj. To će uzrokovati da broj automatski ispušta decimalnu komponentu, ali će omogućiti programeru da ga pohrani u cijelu varijablu.
Vrste objekata
Ista ograničenja koja Java ima za vrste podataka i varijable primjenjuju se za spremanje objekata u strukture niza i vraćanje objekata iz metoda: moraju se deklarirati s osnovnom klasom iz koje Java instancira stavke koje će zadržati ili vratiti. Programeri bi trebali oblikovati svoj izvorni kod u skladu s tim. Međutim, Java programeri imaju nešto veću fleksibilnost što se tiče objekata. Kada programer deklarira metodu ili strukturu niza za klasu, metoda ili klasa mogu se baviti objektima te klase i objektima proširene klase. Na primjer, dvije klase “JTextField” i “JTextArea” iz swing GUI knjižnice Java proširuju klasu “JComponent. ”To znači da ako Java programer može deklarirati niz za držanje objekata klase„ JComponent ”, tada će taj niz također moći držati objekte klase„ JTextField ”i klase„ JTextArea ”. ”