NAVIGATIE

Freetime overzicht
Zoeken


  RUBRIEKEN

FAQ / Help
Wat mag niet?
WZL Wedstrijden
WZL Chat
WZL Toolbar
WZL Statistieken
WZL leden
WZL shop
E-cards

RSS

Fun-feed
Babe-feed
Stud-feed

Een groot aantal pokerrooms geven de mogelijkheid om poker te spelen op internet en geld te storten via het veilige iDeal betaalsysteem.
Overzicht » Computer » Programmeren » Java methode vraag
Onderaan pagina
CrazyHorse 3.475
wzl-lid
Sinds 1/1/2005
T: 14 R: 636
1/9/2006 - 10:50u | Quote
wanneer er een methode staat:

public class int getInteger()

weet iedereen da da gewoon nen int teruggeeft...
ma ik heb hier ergens in men cursus staan:

public static int getInteger()

nu is mijn vraag...
wa is het verschil tussen die twee...?
Poel
Respect!
Sinds 13/1/2003
T:10 - R:122
1/9/2006 - 11:10u | Quote
wanneer er een methode staat:

public class int getInteger()

Ik vermoed dat die "class" er tussenuit moet.

Een static method is zoals een static variable gedefinieerd voor heel de klasse als 1 methode. Zoals er dus één static variable bestaat voor alle instanties van die klasse, bestaat er ook één methode. Met als gevolg dat de static method enkel static variables kan gebruiken.

Eén voordeel van het gebruik van static methods is dat er geen object parameter moet doorgegeven worden (door de compiler) bij het oproepen van de methode, wat resulteert in efficiëntere code...

Ook het oproepen van de methode verschilt:

gewone(instance) method:

MyClass myVar = new MyClass();
myVar.method();

static (class) method

MyClass.staticMethod();

of

MyVar = MyClass.staticMethod();
[het verschil zit em in het feit of de methode een waarde teruggeeft of niet maar dat spreekt voor zich...]


Laatst aangepast door Poel op 1/09/2006 11:24:31u (1x aangepast)
CrazyHorse 3.475
wzl-lid
Sinds 1/1/2005
T:14 - R:636
1/9/2006 - 11:27u | Quote
heb ook uitleg gevraagd aan vriend... en die zegt juist het omgekeerde

die zegt da static methodes alleen maar werken met de waarden die zijn meegegeven als parameters?

ikzelf heb er geen gedacht van wa het nu is?
Poel
Respect!
Sinds 13/1/2003
T:10 - R:122
1/9/2006 - 11:49u | Quote
CrazyHorse schreef:
heb ook uitleg gevraagd aan vriend... en die zegt juist het omgekeerde

die zegt da static methodes alleen maar werken met de waarden die zijn meegegeven als parameters?

ikzelf heb er geen gedacht van wa het nu is?


Dus je zou al geen static method zonder parameters kunnen definiëren. Static methods werken voor de klasse en niet voor het geïnstantieerde object. Ze kunnen operaties uitvoeren op static variables en meegeleverde parameters. Probeer maar een keer in Eclipse of zo. Je kan het ook nalezen op:


Sun MircoSystems -- Class methods
Google
java Tech

Laatst aangepast door Poel op 1/09/2006 11:50:50u (2x aangepast)
Ben Dover 2.956
wzl-lid
Sinds 24/1/2004
T:4 - R:208
1/9/2006 - 11:50u | Quote
Stel ge hebt een class Boek. Deze class heeft 2 variabelen aantalBoeken en boekID. Beiden zijn int, maar dat doet er niet toe. aantalBoeken is static en boekID niet. De class heeft ook 2 methods: getAantal() en getBoekID(). Ook hier is getAantal() static. Het verschil tussen beiden is niet zo moeilijk. Stel dat dit uw constructor is:

public Boek(int ID){
this.boekID = ID; //this mag natuurlijk weg
aantalBoeken ++;
}

Telkens als ge een nieuw boek object maakt, krijgt dat object een eigen boekID. Maar omdat aantalBoeken een static variabele is, is er maar aantalBoeken voor alle boek objecten die ge maakt. Daarom zal getAantal() ook het totaal aantal boeken terug geven (en niet 1). Let wel op, getAantal() wordt niet opgeroepen op een object, maar op de class dus:

Boek lotr1 = new Boek(00500);
lotr1.getID(); //geeft 00500 terug
Boek.getAantal(); //geeft 1 terug

Boek lotr2 = new Boek(00501);
lotr2.getID();// geeft 00501 terug
Boek.getAantal(); // geeft nu 2 terug
CrazyHorse 3.475
wzl-lid
Sinds 1/1/2005
T:14 - R:636
1/9/2006 - 13:09u | Quote
ik denk dak het snap...
merci!
 
Bovenaan pagina