FONForum
http://www.fonforum.org/

pitanje oz Jave
http://www.fonforum.org/viewtopic.php?f=8&t=11822
Stranica 1 od 1

Autoru:  kobas [ 05.02.2008. 14:54:10 ]
Tema posta:  pitanje oz Jave

Kod:
import java.util.*;


class AutomatNovca{

   double Stanje;
   AutomatNovca(){Stanje=10;}
   KDouble VratiStanjePrekoMetode(){
      KDouble StanjeL=new KDouble();
      StanjeL.S=Stanje;
      System.out.println(" Vrednost stanje je: "+StanjeL.S);
      return StanjeL;}

public static void main(String args[]){

   AutomatNovca au=new AutomatNovca();
   KDouble Stanje1=null;
   Stanje1=au.VratiStanjePrekoMetode();
   KDouble StanjeN=new KDouble();
   System.out.println(" Vrednost stanje je: "+StanjeN.S);
   }
}

class KDouble{

   double S;
   KDouble(){S=5;}
}






E SAD PITANJE, DA LI NEKO MOZE DA MI KAZE ZASTO KADA TRAZIM DA MI ISPISE VREDNOST ARGUMETA S KOME PRISTUPAM PREKO REFERENCE StanjeN, DOBIJAM ODGOVOR DA JE VREDNOST 5. PRETHODNO JE TA VREDNOST ARGUMENTA S PROMENJENA U METODI VratiStanjePrekoMetode NA 10, ZNACI TREBALO BI DA JE 10 ALI NIJE???


---
Moma: prebaceno iz 4., sredjen naslov, dodati code tagovi

Autoru:  edi [ 05.02.2008. 16:39:45 ]
Tema posta: 

Objekat je jedno pojavljivanje klase. Ako klasa ima neke atribute (kao sto tvoja klasa KdDouble ima atribut s) tada ce i svaki objekat te klase koje napravis imati te iste atribute. Sto znaci da ako napravis dva objekta klase KDouble tada ce svaki od ta dva objekta imati svoju vrednost atributa S. Znaci :

StanjeN.S i Stanje1.S ne pokazuju na istu stvar.

Kada se izvrsila linija Stanje1=au.VratiStanjePrekoMetode(); Stanje1.S je dobilo vrednost 10 , a kada se izvrsila linija KDouble StanjeN=new KDouble(); StanjeN.S je dobilo vrednost 5 . U sledecoj liniji si ispisao StanjeN.S i to je to. Ako stavis Stanje1.S videces da ce se ispisati 10 .

Autoru:  VITA [ 05.02.2008. 20:01:59 ]
Tema posta:  Re: PITANJE IZ JAVE

Kod:
import java.util.*;


class AutomatNovca{

   double stanje = 10;

   Double vratiStanje(){
      Double stanjeObj=new Double(stanje);

      System.out.println(" Vrednost stanje je: "+stanjeObj.doubleValue());
      return stanjeObj;
   }
   public static void main(String args[]){

      AutomatNovca automat=new AutomatNovca();
      Double stanje1=automat.vratiStanje();
      Double stanje2=new Double(5);
      System.out.println(" Vrednost stanje je: "+stanje2.doubleValue());
   }
}




generalno ovako bi trebao da pises kod..

1:pazi da dobro uvlacis linije..
AutomatNovca(){Stanje=10;}
ovako je mnogo nepregledno

2:promenljive i metode pocinju MALIM slovima

3:nema potrebe za KDobule klasu koja cuve jedan double u sebi kad vec postoji u java.lang paketu
Double klasa koja radi bas to... a kad ti zatreba double od nje samo pozovesh doubleValue() kojom vraca obican double prosti tip

nadam se da sam pomogao:)

Autoru:  kobas [ 05.02.2008. 23:13:23 ]
Tema posta:  re pitanje

Hvala svima, sve jasno, ne znam zasto sam mislio da obe reference barataju sa istim objektom.

Stranica 1 od 1 Sva vremena su u UTC + 1 sat
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/