Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: Class tiedostot

Sivun loppuun

p-p [09.02.2005 21:28:29]

#

Miten saan class tiedoston toiseen classiin. Sillä tavalla kuin importit. Eli mun pitäis saaha jeah.classi oh.classiin "importtaukseen".

Jos tajusitte, nouvokaa xD

EDIT: Keksin paremman selityksen tähän.
Kuvitellaan se class tiedosto Ceen .h tiedostona. ja silleen niinku ceessä #include <munh.h> javalle

FooBat [09.02.2005 23:03:00]

#

Javassa kaikki samassa paketissa olevat luokat näkevät toisensa. Olettaen, että et ole käyttänyt paketteja, pitäisi "oh" ja "jeah" näkyä suoraan toisilleen ja niitä voisi käyttää suoraan.

Luokalle voi määritellä tietyn paketin aloittamalla koodi seuraavalla tavallla.

package foo.bar;

public class Oh {...

Muissa luokissa voidaan sitten tämä luokka importata

import foo.bar.Oh;

tai kaikki paketin tiedostot

import foo.bar.*;

Kannattaa muistaa, että java pakottaa ohjelmoijan sijoittamaan koodit ja classit pakettien mukaiseen hakemistorakenteeseen. Eli käännöksen aikana Oh.java pitää löytyä classpath:in jostain alihakemistosta "foo/bar/Oh.java" ja samoin ajon aikana class vastaavasta alihakemistosta.

p-p [13.02.2005 19:34:35]

#

Nyt ku pääsin kokeilee taas javaa, nii toi ei auttan... Se oh. class alkaa näin

private class munclass extends Thread

renni [13.02.2005 19:46:40]

#

1) Kannattaa nimetä luokat isolla alkukirjaimella.
2) Luokat järjestellään erilaisiin alihakemistoihin, yhteen hakemistoon aina läheisesti toisiinsä liittyvät luokat. Tällainen hakemisto on nimeltään package, suomeksi paketti.
3) Käytetään luokissa package-määritystä kertomaan missä hakemistossa luokan pitäisi olla.
4) Kun luokat on käännetty esim johonkin classes-hakemistoon ja sinne on syntynyt se sama hakemistorakenne niin annetaan ohjelman käynnistyksessä javalle parametri -cp classes.

p-p [13.02.2005 20:17:27]

#

Mulla on muclass2 (mihin importataan) funktioita joita munclass käyttää. Se pitää saada importattua ilman kikkailua silloin kun ohjelma käynnistetään.

maka78 [13.02.2005 21:01:48]

#

Jos sulla on ne luokat samassa folderissa niin sun ei tarvii importata mitään. Koska luokat "näkevät" toisensa.

p-p [13.02.2005 21:49:08]

#

maka78 kirjoitti:

Jos sulla on ne luokat samassa folderissa niin sun ei tarvii importata mitään. Koska luokat "näkevät" toisensa.

Eipä näy näkevän...

maka78 [14.02.2005 08:57:18]

#

Hmm.. nyt tietysti kiinnostaa että Oletko nimennyt tiedostot oikein eli onko Luokan nimi sama kuin tiedoston nimi? esim.

public class MyClass{
    //jotain toiminnallisuutta yms....
}

pitää olla MyClass.java ---> MyClass.class

litra [14.02.2005 10:48:56]

#

p-p kirjoitti:

Mulla on muclass2 (mihin importataan) funktioita joita munclass käyttää. Se pitää saada importattua ilman kikkailua silloin kun ohjelma käynnistetään.

tiedäthän, että ennen kuin voit käyttää luokan metodeja sinun täytyy luoda luokasta olio/instanssi? (elleivät metodit sitten ole staattisia). Luokat löytävät toisensa jo pelkästään olemalla samassa kansiossa ilman paketointia, mikä ei kylläkään selkeyden vuoksi ole suotavaa..


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta