Ako mislite da sporni izraz kreira bilo kakav niz na bilo kom mestu (pa i u main metodi)
onda niste u pravu.
Ako ne mislite onda izvinite na obrazlozenju koje sledi.
Code:
public class Proba {
/**
*
*/
public Proba() {
}
public static void main(String[] args) {
/*deklaracija*/
int[] nizOdTriBroja;
/*inicijalizacija*/
nizOdTriBroja=new int[]{1,2,3};
new Proba().funkcija(nizOdTriBroja);
}
//
//
//
private void funkcija(int[] brojevi){
for(int i=0;i<=100;i++){
System.out.println(brojevi[i]);
}
}
}
Ko sto vidite u gornjem primeru mozes da
se obratis stotom clanu niza i ako on ne postoji,.. i program se kompajlira;
ali krkne kad se pokrene.
Tako da to sto ti mozes da se obratis
parametru f-cije u njenom telu ne znaci da on postoji u trenutku kad
mu se ti obracas i to ne moze ni jedan kompajler da zna pre nego sto se
f-cija pozove a onda ako ga nema dodje do runtime Exceptiona.
Sto se tice procedure main zamisli da JVM radi ovako:
Code:
String parametar1="parametar1";//procita prvi parametar sa console
String parametar2="parametar2";//procita drugi parametar sa console
String parametarN="parametarN";//procita n-ti parametar sa console
String[] args=new String[]{parametar1,parametar2,parametarN};
main(args);
Osim toga ukucajte u google nesto kao Definitions vs. Declarations.
pa procitajte.
Ako ovo nije tacno ubicu Jaukovica sto me naucio pogresno.