Article View: be.comp.programming
Article #2043Re: [Java] forum of iets dergelijks?
From: P
Date: Wed, 27 Oct 2004 14:39
Date: Wed, 27 Oct 2004 14:39
75 lines
4073 bytes
4073 bytes
Djatha schreef:
> 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.
Begrijp ik het goed dat het dus volstaat binnen die statische
main-methode een object aan te maken waarop ik dan vervolgens
niet-statische methoden kan toepassen?
>>* 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).
Dit gebruik van /this/ heb ik volledig door, ik snapte echter niet
vanwaar het probleem hieronder komt...
>
>>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.
Door het systeem van 'overloading' en het gebruik van andere argumenten,
zou ik toch denken dat de compiler daaraan uit zou moeten kunnen. Ik
heb niet helemaal door wat u hier bedoelt met het verschil tussen de
lokale en de klasse-context. wanneer ik op de regel met **** de methode
Person(naam, 0) wil oproepen, gaat hij dan niet binnen de klasse zoeken
naar waar die methode staat en hoe die werkt? Indien ik hier
bijvoorbeeld doThis(naam, 0) zou oproepen ipv Person(naam, 0) , dan
heeft hij daar toch ook geen probleem mee? Dan gaat hij toch binnen de
klasse zoeken naar waar die methode doThis(String naam, int lftd) wordt
beschreven en die op die manier toepassen? Waar zit ik fout in mijn
hele redenering?
Thx
>
Technical Details
Message-ID:
<1098887972.901356@seven.kulnet.kuleuven.ac.be>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!syros.belnet.be!ikaria.belnet.be!news.belnet.be!not-for-mailReferences:
<1098879313.545561@seven.kulnet.kuleuven.ac.be> <clo6uj$34n$1@news.tue.nl>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!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!syros.belnet.be!ikaria.belnet.be!news.belnet.be!not-for-mail From: P <de_polle_KEEP_SPAM_AWAY@kotnet.org> Newsgroups: be.comp.programming Subject: Re: [Java] forum of iets dergelijks? Date: Wed, 27 Oct 2004 16:39:32 +0200 Organization: KULeuvenNet Lines: 75 Message-ID: <1098887972.901356@seven.kulnet.kuleuven.ac.be> References: <1098879313.545561@seven.kulnet.kuleuven.ac.be> <clo6uj$34n$1@news.tue.nl> Reply-To: "[feel_free_to_delete_this]de_polle"@kotnet.org NNTP-Posting-Host: seven.kulnet.kuleuven.ac.be Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8bit X-Trace: ikaria.belnet.be 1098887972 6084 134.58.127.12 (27 Oct 2004 14:39:32 GMT) X-Complaints-To: abuse@belnet.be NNTP-Posting-Date: Wed, 27 Oct 2004 14:39:32 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; nl-NL; rv:1.7) Gecko/20040616 X-Accept-Language: nl, en-us, en In-Reply-To: <clo6uj$34n$1@news.tue.nl> Cache-Post-Path: seven.kulnet.kuleuven.ac.be!unknown@10-67-80-159.kotnet.org X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/)