[ casperns2 @ 30.01.2014. 16:27 ] @
Pozdrav, evo dacu prvo jedan kod kao primer, u pitanju su glavna i izvedena klasa....

Code:
public class Automobili extends Vozila{
    
    public static void unosGodista(int g){
        godiste=g;    
    }
      public static Integer getGodiste(){
        return godiste;        
    }
}

Code:
public class Vozila {
    static Integer godiste;
    public static void main(String[] args) {
        Automobili.unosGodista(2005);
        System.out.println("Godiste: " + Automobili.getGodiste());
    }
}


E sad, ovo radi ali nije mi par stvari jasno.
1. Zasto kada u glavnoj klasi definisem varijablu godiste mora da stoji static , inace u klasi Automobili javlja gresku?

2.Isto tako kod metode getGodiste mora da stoji static ako izbacim static javlja gresku . Da li sa static definisemo da data metoda bude vidljiva u celoj klasi tj. metoda cele klase a samim tim i u glavnoj klasi odakle se poziva??? Isto tako je i sa metodom unosGodista...

3. Zasto ako napravim novi objekat klase, nesto tipa Automobili a = new Automobili() u klasi Automobili i pozovem metodu a.unosGodista u main() metodi javlja gresku a kada uradim ovako onda sve funkcionise ...

Code:
public class Vozila {
    static Integer godiste;
    public static void main(String[] args) {
        Automobili a=new Automobili();
        a.unosGodiste(2005);
        System.out.println("Godiste: " + a.getGodiste());
    }
}



[ nemnesic @ 30.01.2014. 17:21 ] @
Moras da imas static zato sto pozivs ClassName.variableName ili ClassName.methodName()

Da bi ovo lakse resio lepo bi bilo kad bi imao nesto ovako


Code:


class ClassName{
    int godiste;  ///za svaku promenljuvu ubaci get i set pogledaj  http://stackoverflow.com/quest...utorial-on-getters-and-setters
    public void setGodiste(int god){
       this.godiste = god;
    }

    public int getGodiste() {
        return this.godiste;
    }

}



[ casperns2 @ 30.01.2014. 17:53 ] @
Hvala, to sam zeleo kao sto si napisao u kodu this.godiste mi je trebalo ijako sam pokusao jednom na taj nacin ali ne znam zasto nije proslo, uglavnom sada radi kako treba. Prosiricu zadatak sa svim sto mi padne na pamet pa ako negde zapne javim....
[ casperns2 @ 30.01.2014. 20:56 ] @
U vezi ovog zadata, prosirio sam ga i sada imam problem slican kao prvi put , kada pozovem metod iz main() metode kaze da promenim metodu novoVozilo u static a u drugom slucaju gde pozovem a.prikaz() objekat "a" se ne prepoznaje uopste, ne mogu nigde po internetu da nadjem resenje kada naidjem na takav problem a zadatak sam smisljam pa nema resenje da bi pogledao...

Inace generalno jeli kod OK , jesam na pravom putu razmisljanja po ovom zadatku ili treba nesto da menjam . Verovatno moze jednostavnije ali sam hteo namerno da imam glavnu klasu, drugu izvedenu klasu , metode iz jedne da pozivam u drugoj , kasnije prosiriti sa jos nekom klasom i novim objektima i metodama,trenutno su mozda neke metode visak ali kasnije ce sigurno trebati ...

Evo koda od podklase
Code:
package Vozila;

import java.util.Scanner;

public class Automobili extends Vozila{
    Scanner scan=new Scanner(System.in);
    
    public Automobili(Integer godiste,String marka,String model,Integer motor,String boja){}
    Automobili a=new Automobili(godiste,marka,model,motor,boja);
    
    public void novoVozilo(Scanner scan){
        System.out.println("Godiste vozila: ");
        this.godiste=scan.nextInt();
        System.out.println("Marka Vozila: ");
        this.marka=scan.nextLine();
        System.out.println("Model Vozila: ");
        this.model=scan.nextLine();
        System.out.println("Kubikaza motora: ");
        this.motor=scan.nextInt();
        System.out.println("Boja Vozila: ");
        this.boja=scan.nextLine();
    }
    public void unosGodiste(int g){
        this.godiste=g;    
    }
     public Integer getGodiste(){
        return this.godiste;    
    }
     public void unosModela(String mod){
         this.model=model;         
     }
     public void markaAuta(String mar){
         this.marka=mar;
     }
     public String getMarka(){
         return this.marka;
     }
     
     public String getModel(){
         return this.model;
     }
    public void unosBoje(String b){
        this.boja=b;
    }
    public String getBoja(){
        return this.boja;
    }
    public void unosMotora(Integer mot){
        this.motor=mot;
    }
    public Integer getMotor(){
        return this.motor;
    }
    public void prikaz(){
        System.out.println("Vozilo je "+a.getMarka()+" "+a.getModel()+" "+a.getGodiste()+". godiste");
        System.out.println("Vozilo ima motor od "+a.getMotor()+" kubika i boja vozila je "+a.getBoja());
    }
}



U podklasi ne prijavljuje mi nijednu gresku,kao da je sve ok. Ali verovatno nesto nisam dobro definisao posto mi ne radi poziv metoda u glavnoj klasi.... Ima neko ideju gde greska?

Code:
import java.util.Scanner;

public class Vozila {
    Integer godiste;
    String boja;
    String marka;
    String model;
    Integer motor;
    
    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
          System.out.println("Unesi podatke vozila: ");
          
        Automobili.novoVozilo(sc);
        a.prikaz();
        }
    }
[ casperns2 @ 31.01.2014. 14:32 ] @
Pokusavao sam sa nekim resenjima ali nervira me sto sve moram da dafinisem kao static da bi radilo a verovatno ne mora i predpostavljam da bi kasnije ako bi bio veci zadatak imao problem oko definisanja. Na primer ovo sada radi ali sve varijable u glavnoj klasi sam morao da definisem kao static , jel to mora tako jer nigde to do sada nisam procitao da se tako radi a nisam ni video. Ako ovo nije ispravno,mada radi, trazicu novo resenje...

Code:
import java.util.Scanner;

public class Vozila {
    static Integer godiste;
    static String boja;
    static String marka;
    static String model;
    static Integer motor;
    
    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
        Automobili a=new Automobili(godiste,marka,model,motor,boja);
          System.out.println("Unesi podatke vozila: ");
          
        a.novoVozilo(sc);
        a.prikaz();
        }
    }
[ Rapaic Rajko @ 01.02.2014. 09:26 ] @
Elem, iz tvog pitanja se vidi koliko NE razumes relaciju klasa i objekata/instanci klase.
Da ti ne bismo sad objasnjavali nadugacko i nasiroko, vrati se na tutorijal iz kog si ucio javu i pronadji deo "Klase i objekti" (tako nekako) i temeljno prouci ponovo. Ako mislis da ti taj tutorijal nece pomoci, reci i bacim ti link na kojem je tematika DOBRO objasnjena.

Pozz
[ casperns2 @ 01.02.2014. 09:39 ] @
Napisi link koji imas, ucim i sigurno ce mi biti dosta nejasnoca ali preko tutorijala iz kojeg sam ucio nisam mogao da nadjem problem i resenje i vec sam nasao nove knjige i tutorijale ali napisi link koji imas, mozda ce mi pomoci vise od ostalih.
U svakom slucaju hvala...
[ nemnesic @ 02.02.2014. 00:03 ] @
Pogledaj knjigu Head First Java http://www.amazon.com/Head-First-Java-2nd-Edition/dp/0596009208
Naravno mozes da nadjes PDF verziju besplatno online.
[ casperns2 @ 02.02.2014. 10:41 ] @
Hvala nemnesic... bitno mi je da vidim da neko ima na forumu ko ce i da pomogne i konkretno napise smernicu za problem pa bar i u par reci i u vidu linka. Tu knjigu u pdf formatu vec imam ali hvala u svakom slucaju....
[ Rapaic Rajko @ 05.02.2014. 14:43 ] @
Izvini, nije me bilo na forumu, evo linka: http://docs.oracle.com/javase/tutorial/java/javaOO/index.html .

Ako ti slucajno i ovde nesto bude nejasno, idi na pocetni link: http://docs.oracle.com/javase/tutorial/java/concepts/object.html , pa redom.

Lekcije (kako ja kazem: porcije ;) ) su vrlo dobro osmisljene, kako velicinom tako i tezinom, i uz lagano citanje i (malo) vezbanja, savladaces/razumeces bez po muke javu. Mene je u svakom slucaju ocarala :).

Pozz
[ casperns2 @ 05.02.2014. 17:42 ] @
Hvala.... bice sigurno od koristi ...

Inace problem kod ovog zadatka sto sam imao oko definisanje objekata i izvedenih klasi resio sam, sada radi sve kako treba-sutradan kada sam seo bukvalno za 2 min sam ispravio sve i odmah skontao gde problem.
Zadatak sam opet prosirio i ubacujem nove metode i nove klase , trenutno sam zaglavio oko nekog drugog problema , ako ne uspem da ga resim posle jos par tutorijala koje planiram da procitam javljam se za pomoc...

[Ovu poruku je menjao casperns2 dana 05.02.2014. u 19:58 GMT+1]
[ Rapaic Rajko @ 05.02.2014. 21:10 ] @
Baci ga ovde odmah, nemoj da se mucis ;), sto da lupas glavu i trosis energiju dzabe. Ti svoje (ucenje) svakako moras da prodjes sam, ali nema potrebe da lutas.

Pozz