Article View: be.comp.programming
Article #2040Re: [Java] forum of iets dergelijks?
From: Djatha
Date: Wed, 27 Oct 2004 13:11
Date: Wed, 27 Oct 2004 13:11
71 lines
3004 bytes
3004 bytes
P wrote:
> * Binnen een /static/ methode kan je enkel andere /static/ methoden e.d.
> oproepen. Maar als je een progje wilt executen, dan moet je toch de
> /static/ methode /main/ gebruiken? Hetgeen uiteindelijk toch betekent
> dat ALLE methoden die je schrijft /static/ moeten zijn? Wat klopt er
> niet in mijn redenering?
Dat Java een (bijna volledige) objectgeori�nteerde programmeertaal is. Het
idee is dat U (zelf geschreven) klassen instanti�erd, waarvan de methoden
natuurlijk niet static hoeven te zijn.
Voor een erg klein programma waarbij U enkel een enkele (hoofd) klasse
definieert, volstaat het aanmaken van een object van die hoofdklasse, de
niet static methoden kunt U dan aanroepen.
Voorbeeld:
public class Test {
private int fieldOne;
...
private String fieldN;
public void Test() {
construeer hier iets.
}
public int methode() {
doe iets.
}
public static void main( String[] args ) {
Test t = new Test();
t.methode();
...
}
}
> * Ik snap het gebruik van /this/ niet helemaal.
Dat is een verwijzing naar de klasse waarin dat `this' staat, leuk voor
variabelen scheiding (this.field vs field).
> public class Person
> {
> private String name ;
> private int age ;
>
> public Person(String naam, int lftd)
> {
> name = naam;
> age = lftd;
> }
>
> public Person(String naam)
> {
> this(naam,0); // ****
> }
> }
>
>
> Op die regel met **** erachter: waarom kan ik hier niet " Person(naam,
> 0) " gebruiken?
Omdat de compiler van Java anders niet kan bepalen welke Person U bedoelt,
in de lokale context is de naam van de methode Person, daarnaast is er nog
in de context van de klasse een methode Person ( twee zelfs). Kortom, een
conflict dat U voor de compiler op moet lossen. In dit geval met this.
--
Djatha
Technical Details
Message-ID:
<clo6uj$34n$1@news.tue.nl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!proxad.net!216.196.110.149.MISMATCH!border2.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!newsfeeder.wxs.nl!surfnet.nl!news.tue.nl!not-for-mailReferences:
<1098879313.545561@seven.kulnet.kuleuven.ac.be>Show Full Headers
Complete Article Headers
X-Google-Thread: fcea4,5d8e30860e7dff67 X-Google-Attributes: gidfcea4,public X-Google-Language: DUTCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!proxad.net!216.196.110.149.MISMATCH!border2.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!newsfeeder.wxs.nl!surfnet.nl!news.tue.nl!not-for-mail From: Djatha <Djatha@[maakt_geen_misbruik]hotmail.com> Newsgroups: be.comp.programming Subject: Re: [Java] forum of iets dergelijks? Date: Wed, 27 Oct 2004 15:11:27 +0200 Organization: Eindhoven University of Technology, The Netherlands Lines: 71 Message-ID: <clo6uj$34n$1@news.tue.nl> References: <1098879313.545561@seven.kulnet.kuleuven.ac.be> Reply-To: Djatha@[maakt_geen_misbruik]hotmail.com NNTP-Posting-Host: dyn122121.nbw.tue.nl Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8Bit X-Trace: news.tue.nl 1098882835 3223 131.155.122.121 (27 Oct 2004 13:13:55 GMT) X-Complaints-To: abuse@tue.nl NNTP-Posting-Date: Wed, 27 Oct 2004 13:13:55 +0000 (UTC) User-Agent: KNode/0.8.0