Page 1 of 3 123 Last

Thread: Java vraagje

  1. #1
    Shift's Avatar
    Registered
    25/02/04
    Location
    Vlaams Brabant
    Posts
    2,160
    iTrader
    40 (98%)
    Mentioned
    0 Post(s)
    Reputation
    0/2

    Java vraagje

    Overerving / Constructor

    Spoiler:

    Spoiler:


    Waarom geeft dit een error ?
    no votes  

  2. #2
    Shift's Avatar
    Registered
    25/02/04
    Location
    Vlaams Brabant
    Posts
    2,160
    iTrader
    40 (98%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Omdat de constructor van Persoon een meegeleverde waarde voor int i verwacht ?
    no votes  

  3. #3
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Nee, Persoon heeft geen default constructor meer. Je moet dus nog expliciet public Persoon() {} toevoegen.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  4. #4
    Shift's Avatar
    Registered
    25/02/04
    Location
    Vlaams Brabant
    Posts
    2,160
    iTrader
    40 (98%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Ooow , zalig, merci !
    no votes  

  5. #5
    forloRn_'s Avatar
    Registered
    23/11/03
    Location
    Landeurp
    Posts
    1,791
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    10/17
    Ik wil nu niet nitpicken maar ik vind "ja, omdat Persoon een meegeleverde waarde voor i verwacht" juister. Je gaat niet gewoon blindelings constructors bijmaken, enkel omdat je compiler komt klagen eh. Je zult het Persoon-gedeelte van je object tenslotte toch op één of andere manier moeten initialiseren.

    En als je dan toch een no-arg constructor toevoegt, zal je negen van de tien even verderop vaststellen dat je die i toch nodig hebt.
    no votes  

  6. #6
    Shift's Avatar
    Registered
    25/02/04
    Location
    Vlaams Brabant
    Posts
    2,160
    iTrader
    40 (98%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Neen dit was een voorbeeld van in de les. Das expres zo gemaakt. Was even op het verkeerde spoort met die non-default constructor
    no votes  

  7. #7
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Quote Originally Posted by forloRn_ View Post
    This quote is hidden because you are ignoring this member. Show
    Ik wil nu niet nitpicken maar ik vind "ja, omdat Persoon een meegeleverde waarde voor i verwacht" juister. Je gaat niet gewoon blindelings constructors bijmaken, enkel omdat je compiler komt klagen eh. Je zult het Persoon-gedeelte van je object tenslotte toch op één of andere manier moeten initialiseren.

    En als je dan toch een no-arg constructor toevoegt, zal je negen van de tien even verderop vaststellen dat je die i toch nodig hebt.
    Het meest logische zou zijn dat hij vanuit de default constructor in persoon de persoon(int) aanroept met een default value.

    En steeds een default constructor toevoegen is toch wel aan te raden (desnoods protected). Zo kunnen afgeleide klassen nog steeds een no-argument constructor aanmaken. In situaties waar je weet dat een no-argument constructor nooit zal gebruikt worden kan je dat uiteraard achterwege laten.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  8. #8
    Shift's Avatar
    Registered
    25/02/04
    Location
    Vlaams Brabant
    Posts
    2,160
    iTrader
    40 (98%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Nog een vraagje. Ik werk met eclipse. Stel ik heb dit :

    - Project A -> Package B -> Class C

    - Project D -> Package E -> Classe F

    Nu wil ik de klasse C aanspreken in F. Hoe doe ik dat ? Rechterklik op project D , properties, Java build Path en daar Proeject A aan toevoegen helpt niet echt.
    no votes  

  9. #9
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Je klassen staan niet public? (Eerste wilde gok hoor, ik werk niet met eclipse)
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  10. #10
    Shift's Avatar
    Registered
    25/02/04
    Location
    Vlaams Brabant
    Posts
    2,160
    iTrader
    40 (98%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Alle klasse staan public. Maar momenteel los ik het op door gewoon de klasse C te kopieren in package E
    no votes  

  11. #11
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Twee seconden google levert dit op: Eclipse Project, Add Jar

    Dit zou het moeten doen. Als dit het niet doet heb je een corrupte jar of andere problemen in je code.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  12. #12
    adrianhates's Avatar
    Registered
    23/01/06
    Posts
    2,115
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    23/23
    moet je die package niet importen waar je zijn inhoud nodig hebt?
    zoals bvb bij swing:

    import javax.swing.*;
    no votes  

  13. #13

    Registered
    20/09/04
    Location
    Kortrijk / Gent
    Posts
    7,177
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    3/43
    Waarschijnlijk heeft hij geen Jar file, maar enkel een .class file

    Afhankelijk van wat er in die klasse staat, zijn er twee methodes dus:
    -) ofwel de klasse gewoon kopiëren (beste oplossing waarschijnlijk als de klasse niet echt op zich staat)
    -) ofwel de klasses bundelen in een jar en toevoegen aan uw project. Dit lijkt mij de beste methode als je verwacht dat je die klasses in meerdere projecten kunt gebruiken (dus eerder hulpklasses die op zich staan en niet project specifiek zijn)

    Quote Originally Posted by adrianhates View Post
    This quote is hidden because you are ignoring this member. Show
    moet je die package niet importen waar je zijn inhoud nodig hebt?
    zoals bvb bij swing:

    import javax.swing.*;
    Ja, maar dat kun je automatisch doen en daarvoor moet de klasse eerst tot het project behoren/toevoegen. Het is dat laatste waar zijn vraag om draait.
    no votes  

  14. #14
    Shift's Avatar
    Registered
    25/02/04
    Location
    Vlaams Brabant
    Posts
    2,160
    iTrader
    40 (98%)
    Mentioned
    0 Post(s)
    Reputation
    0/2
    Thx people
    no votes  

  15. #15
    forloRn_'s Avatar
    Registered
    23/11/03
    Location
    Landeurp
    Posts
    1,791
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    10/17
    Quote Originally Posted by Cycloon View Post
    This quote is hidden because you are ignoring this member. Show
    En steeds een default constructor toevoegen is toch wel aan te raden (desnoods protected). Zo kunnen afgeleide klassen nog steeds een no-argument constructor aanmaken.
    Kan je dat even verduidelijken? Het één sluit het ander toch niet uit?
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in