Wise guy Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Hva er forskjellen mellom class og public class? Når bruker en class og når bruker en public class? Er det noen som kan forklare? Lenke til kommentar
Gjest Sletet+adslkfjv Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 alt det om klasser står i boka di, hvis du fremdeles ikke får noen gode svar kan du sjekke ut tutorialene til sun. De burde være gode nok. Lenke til kommentar
CaSh Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Du burde ikke tenke så mye over det. Jeg tror det ikke har noen betydning. public class og class er vel det samme. Jeg bruker alltid public class, og de ide'ene jeg bruker lager alt sånn automatisk for meg uansett så jeg tenker egentlig aldri på det. Lenke til kommentar
boemane Skrevet 24. juli 2005 Del Skrevet 24. juli 2005 Du burde ikke tenke så mye over det. Jeg tror det ikke har noen betydning. public class og class er vel det samme. Jeg bruker alltid public class, og de ide'ene jeg bruker lager alt sånn automatisk for meg uansett så jeg tenker egentlig aldri på det. Java har 4 "tilgangs" muligheter til variabler, klasser og metoder. public, private, protected og package. Dersom du ikke benytter deg av noen av nøkkelordene "public", "private" eller "protected" får variablen/metoden/klassen "package" tilgang. Package tilgang betyr at variabelen/metoden/klassen er tilgjengelig for alle andre klasser i samme pakke-struktur, mens tilgang ikke er mulig utenfor pakken. Jeg er litt usikker for hva som skjer om du ikke deklarere main-klassen public, men jeg tror du fortsatt kan kjøre main-klassen dersom den hører til den "tomme" pakken, dvs. hvis ingen pakke er definert. Lenke til kommentar
Wise guy Skrevet 25. juli 2005 Forfatter Del Skrevet 25. juli 2005 Tusen takk for informasjonen, boemane, den er nyttig. logindude, joda, det står en del i boken jeg har, «Java som første programmeringsspråk», men det er ikke nødvendigvis alltid tilstrekkelig. Om public står det følgende: «For å kompilere Java-kildekode brukes kommandoen javac. Kompilatoren vil lese en ren tekstfil som inneholder kildekoden, og vil for hver klassedeklarasjon bygge en fil som inneholder bytekoden til klassen. En av klassene definert i kildekoden er en primærklasse, og kildekoden er navngitt etter denne klassen. Den primære klassen er deklarert med modifikatoren public. For små programmer er dette som oftest klassen som inneholder main()-metoden. Det er praktisk å dele opp store programmer i flere kildekodefiler. Da inneholder hver kildekodefil vanligvis kun én klassedeklarasjon. Navnet til alle kildekodefilene ender med «.java».» Kan jeg ut av dette slutte at når en skriver store programmer i Java bestående av flere klasser, så skal kun én fil være public class, mens resten kun er class, eller en av de andre variantene boemane nevnte? Lenke til kommentar
boemane Skrevet 25. juli 2005 Del Skrevet 25. juli 2005 Kan jeg ut av dette slutte at når en skriver store programmer i Java bestående av flere klasser, så skal kun én fil være public class, mens resten kun er class, eller en av de andre variantene boemane nevnte? Nei, egentlig ikke. Dersom du ønsker at alle andre klasser skal kunne opprette en ny instans av seg selv, må den være public. Dersom klassen kun skal være tilgjenglig for instansiering av seg selv, er den private. Skal klassen kun kunne instansieres av subklasser (extends), er den protected. Skal klassen kun kunne instansieres av klasser i samme pakke, utelater du public/private/protected. Som regel (95% av tilfellene) vil du at klasser skal være public. Klasser har sjelden en annen tilgang, mens variabler og metoder ofte enten er public eller private, og en gang i blandt protected. Selv har jeg vel aldri brukt variabler som ikke er public, private eller protected. Lenke til kommentar
Wise guy Skrevet 25. juli 2005 Forfatter Del Skrevet 25. juli 2005 Tusen hjertelig takk for hjelpen. Denne informasjonen er gull verdt. Lenke til kommentar
threiran Skrevet 25. juli 2005 Del Skrevet 25. juli 2005 En detalj det er raskt å brenne seg på: Hvis en klasse er public, må den ligge i en fil med samme navn som klassen + .java. CPL Lenke til kommentar
Patton Skrevet 26. juli 2005 Del Skrevet 26. juli 2005 En liten ting til angaaende public/default. Det er som kjent mulig aa definere mer enn en klasse i en java-fil. Minst en klasse i denne fila maa ha samme navn som java-fila. Bare klassen som har samme navn som java-fila har lov til aa bruke public. De andre klassene maa ha default (altsaa ingenting). Obs, maa ikke forveksles med inner-class (som igjen har sine egne saere regler). Lenke til kommentar
Wise guy Skrevet 26. juli 2005 Forfatter Del Skrevet 26. juli 2005 Hmm, dette er meget nyttig, Patton. Takk for informasjonen. Jeg kan altså ha en fil kalt Test1.java, som ser slik ut: class Test0 { // diverse kommandoer } public class Test1 { // diverse kommandoer } class Test2 { // diverse kommandoer } ? Lenke til kommentar
Patton Skrevet 26. juli 2005 Del Skrevet 26. juli 2005 Helt riktig Wise guy. Dette er syntaktisk riktig og gir ingen kompileringsfeil. PS. God programmeringskikk sier at slike "ekstra" klasser boer settes i egne filer. Lenke til kommentar
Wise guy Skrevet 26. juli 2005 Forfatter Del Skrevet 26. juli 2005 Jeg har hørt at en bør ha én klasse i én fil, men vil det ha noe å si for programmet? Vil det for eksempel kjøre raskere om en har én klasse i hver fil, eller er det bare for å holde god orden? Lenke til kommentar
yonderboy Skrevet 26. juli 2005 Del Skrevet 26. juli 2005 Jeg har hørt at en bør ha én klasse i én fil, men vil det ha noe å si for programmet? Vil det for eksempel kjøre raskere om en har én klasse i hver fil, eller er det bare for å holde god orden? Nei, det er nok mest for å holde orden på koden. Tenk deg et stort program med mange klasser - det blir vanskelig å finne en bestemt klasse dersom flere klasser ligger i samme fil. Hastigheten blir nok også den samme om du har en eller flere klasser i hver fil - ser du på den kompilerte koden, ser du at hver klasse får sin egen .class-fil, uansett om de er i den samme fila eller ikke (også indre klasser). Så det spiller altså ingen rolle for den kompilerte koden om det ligger en eller flere klasser i hver fil. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå