Java (programski jezik): razlika između inačica

Dodano 2.940 bajtova ,  prije 2 godine
dopuna
m (ispravak datuma)
(dopuna)
 
Upravo zbog toga je popularna za razvoj programa na mobilnim telefonima i kod financijskih kompanija. Javlja se kao osnovni jezik za programiranje [[Google]]ovog sustava [[Android (operacijski sustav)|Android]].
 
== Sintaksa jezika ==
Javina sintaksa je slična sintaksi [[C++]]-a. Sav kod se piše u klasama, a svaki podatak je objekt - uz iznimku primitivnih tipova podataka (cijeli i decimalni brojevi, boolean vrijednosti i znakovi).
 
Za razliku od C++-a, java ne podržava preopterećivanje operatora (ad-hoc polimorfizam). Također ne podržava višestruko nasljeđivanje klasa (ali dopušta višestruko nasljeđivanje sučelja). Uz dva tipa komentara korištena u C++-u ({{Mono|// ...}} za jednolinijski i {{Mono|/* ... */}} za višelinijski kod), java uvodi i tzv. Javadoc komentare ({{Mono|/** ... */}}) koji dopuštaju pisanje dokumentacije za klase i metode.
 
Primjer Javadoc dokumentacije za klasu:<syntaxhighlight lang="java" line="1">
/**
* Objašnjenje koda klase
* može se protezati kroz više linija. *
* @author Ivan Horvat ** definira autora ove klase
* @version 1.0 ** definira inačicu ovog koda
* @since 2014-03-31 ** broj inačice u kojoj je prvi put
* ** uvedena ova funkcionalnost
*/
</syntaxhighlight>Javadoc dokumentacija za metode ima još niz dodatnih parametara, na primjer:<syntaxhighlight lang="java">
/**
* Kao primjer ćemo koristiti metodu koja prima dva broja
* i vraća njihov zbroj
* @param brojA Ovo je prvi parametar metode
* @param brojB Ovo je drugi parametar metode
* @return int Metoda vraća cjelobrojni zbroj dva broja
* @exception IOException iznimka pri unosu vrijednosti koje nisu brojevi
* @see IOException ** poveznica na stranicu o iznimci
*/
</syntaxhighlight>Neki programi mogu automatski generirati dokumentaciju za program iz Javadoc komentara.
 
=== Primjer "Hello world!" programa ===
{{Glavni|"Hello, World!"}}<syntaxhighlight lang="java">
public class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); // ispisuje string u konzolu
}
}
</syntaxhighlight>Datoteke izvornog koda moraju biti imenovane prema javnoj klasi koju sadrže, uz ekstenziju {{Mono|.java}} (u našem slučaju HelloWorldApp.java). Ta će se datoteka kompajlirati u ''bytecode'' ekstenzije {{Mono|.class}}, što će dopustiti pokretanje koda. Moguće je imati samo jednu javnu ({{Mono|public}}) klasu u datoteci. Sve klase koje nisu javne mogu biti spremljene u bilo kojoj .java datoteci, no kompajlirat će se po jedna .class datoteka za svaku klasu, istog imena kao i klasa. Anonimne klase dobit će spojeni naziv njihove roditeljske klase, znaka $ i cijelog broja.
 
==== Modifikatori razine pristupa ====
{| class="wikitable"
|+
!
!Klasa
!Paket
!Naslijeđena klasa
(isti paket)
!Naslijeđena klasa
(drugi paket)
!Ostalo
|-
|'''public'''
|ima pristup
|ima pristup
|ima pristup
|ima pristup
|ima pristup
|-
|'''protected'''
|ima pristup
|ima pristup
|ima pristup
|ima pristup
| -
|-
|nema modifikator
|ima pristup
|ima pristup
|ima pristup
| -
| -
|-
|'''private'''
|ima pristup
| -
| -
| -
| -
|}
 
== Izvori ==