Archief - Exporting non-public type through public API

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

m1dnight

Legacy Member
Hallo beste mensen,

Ik ben aan het programmeren aan mijn project voor Java.
Het doel is dat we een quiz programmeren met gebruikers etc.

Nu heb ik de basis, een klasse "Quiz", een klasse "Gebruiker" en een klasse "QuizTest".

In de klasse Quiz zal hij een array van het type "Vraag" vullen met objecten van de klasse "Vraag". En ook heeft de klasse "Quiz" een attribuut user, wat van het type "Gebruiker" is.

Nu had ik al mijn attributen private gedeclareerd en kreeg ik de error "Exporting non-public type through public API" op het moment dat ik mijn constructor aanmaakte.

dus dacht ik, zet ik de eigenschap van het attribuut user op public, maar nog steeds die error. Als ik het attribuut verwijder is de error weg. Als ik het attribuut user op public zijt, moet het toch opgelost zijn? Ik paste even de code voor meer duidelijkheid.

De klasse Quiz
De klasse Gebruiker

PS: Het is de eerste 5 minuten die ik er aan werk, dus het zijn idd de automatische getters en setters van netbeans. Het is niet de bedoeling van mijn code af te maken oid, ik zou gewooon willen weten wat ik kan doen aan die error, want het ontsnapt me toch even.

In elk geval al bedankt!

edit: Ik heb ondertussen ze al in defaultpackage gezet ipv in package main.

Excuses voor het verspillen van de bytes op de 9lives server, maar ik heb de oplossing gevonden.

De klasse gebruiker stond gedeclareerd op volgende wijze: "class Gebruiker {}", en dus niet public. Dus is die waarschijnlijk private? En zo exporteerde ik een private class via een public methode. Na er public voor te plaatsen lijkt het opgelost!

voltje

Legacy Member
Je zegt dat je er 5 minuten aan gewerkt hebt...
Misschien eerst nekeer goe zoeken he int vervolg :P
Anyway ik snap iets niet...
Wrm houd ge ne gebruiker bij in u Quiz?
Elke quiz kan maar door 1 gebruiker gedaan worden?

Is het ni beter dat ge een aparte klasse maakt Spel ofzo

En daar bij houd Quiz en User ?

Dan kunt ge quizzen hergebruiken he ...

Anders moete per gebruiker elke keer ne quiz maken...
Als ge doe wat ik zeg kunde bvb "wedstrijd" achtige dingen doen he, dan kunnen alle users quizA doen, en kijken wie de beste is.

snapte watk bedoel?

Curahee Q

Legacy Member
m1dnight zei:
De klasse gebruiker stond gedeclareerd op volgende wijze: "class Gebruiker {}", en dus niet public. Dus is die waarschijnlijk private? En zo exporteerde ik een private class via een public methode. Na er public voor te plaatsen lijkt het opgelost!

Je cursus er nog eens op nalezen. Wanneer je er niets van public, private of dergelijke voorstaat wilt dit zeggen dat ze package private zijn. Je kan dan wel aan deze klasse Gebruiker binnen dezelfde package, echter als je met meerdere packages werkt zal je buiten de package waar Gebruiker inzit niet aankunnen.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan