- Mini-ITX
- Mini PC
- Beelink ME Mini
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Kormányok / autós szimulátorok topikja
- Apple MacBook
- OLED monitor topic
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Soundbar, soundplate, hangprojektor
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
Új hozzászólás Aktív témák
-
D4nte
csendes tag
5. Annyi azért legyen már tisztázva (csak azért, mert nem értem, miért pont publikus meg privát láthatóságot írtál itt), hogy egy normál osztály (nem belső) csak publikus, vagy ha nem teszel ki láthatósági jelölést, akkor csomagszintű (package) láthatóságú lehet.
A belső osztály már más kategóriába esik, az lehet public, protected, private, package (nincs kulcsszó írva) szintű is.
(Még itt érdemes megemlíteni, ha esetleg itt lehetne kavarodás, hogy az Interface egy külön eset, ott minden tag public alapból. (mindegy hogy kiírod, vagy sem))
Végül pedig az igazi kérdésedre, az előbb leírtak mellett, NEM a válasz, már fentebb is írták. Ha nincs feltüntetve, hogy milyen láthatóságú egy osztály tagja, akkor csomagszintű lesz.
3. Nem tiszta nekem, hogy most belső osztályokkal (remélem nem), vagy normállal akartad megoldani, de ilyen dolgoknál (meg a legtöbbnél szintén) egyszerűen ki kell próbálni, ha tudod.
public class Allat {
void ugat() {
System.out.println("Állatugatás");
}public static void hajtovadaszat(Allat allatPeldany) {
allatPeldany.ugat();
}public static void main(String[] args) {
Allat allat = new Allat();
Kutya kutya = new Kutya();
Farkas farkas = new Farkas();hajtovadaszat(allat);
hajtovadaszat(kutya);
hajtovadaszat(farkas);
}
}class Kutya extends Allat {
void ugat() {
System.out.println("Kutyaugatás");
}
}class Farkas extends Allat {
void ugat() {
System.out.println("Farkasugatás");
}
}kimenet:
Állatugatás
Kutyaugatás
FarkasugatásEnnél a példánál tökéletesen működik a polimorfizmus. Ne zavarjon meg, hogy a leszármazott osztályok csomagszintűek lettek, most azért igazából, mert egy fájlba tettem (de lényegtelen ennél e példánál éppen).
Próbálgasd módosítani a láthatóságokat, és nézd az eredményt, így kitapasztalhatod a dolgokat.(Itt az Allat osztály és az ugat metódusa lehetne inkább abstract, de kérdésedhez nem kapcsolódik igazából)
Csináltam egy belső osztályos verziót is, talán közelebb van ahhoz amit gondoltál.
másikverzióJava tutorials-t gyors, Thinking in java-t részletes tanuláshoz én is ajánlom, ha jól átveszed benne a dolgokat, a kérdéseid mind megválaszolódnak, plusz, ami nem világos, próbáld is ki!
-
Davs
tag
1.
- Miért fér hozzá a tartalmozó osztály?
- Itt most egymasba agyazott Classokrol van szo..Class classon belul (ez nem oroklodes!). Vegyunk pl egy sima public classot. Te a classon kivul tudsz a classbol objectet csinalni, hozzafersz a public valtozoihoz/metodusaihoz, a privathoz viszont nem! A privatot csak a class/object maga tudja hasznalni es ha ugy akarja az isten akkor kozvetlenul te is (egy public metodus a classon belul ami hozzaferest ad a privat valtozohoz). Namost ha egy class tartalmaz egy masik privat classot, akkor ahhoz is csak o fer hozza kozvetlenul.
public class A{
private class B{}
}
Leegyszerusitve vehetjuk ugy, hogy a B class az Aclass sajatja, tehat hozzaferhet.2.
http://stackoverflow.com/questions/70324/java-inner-class-and-static-nested-class
Az elso valaszban van leirva peldaval, hogy hogyan ferhetsz hozza. Ha sima inner class-bol akarsz objektumot csinalni, akkor ha jol tudom eloszor kell egy object-et csinalnod a kulso classbol es csak utana tudsz a belsobol, mert a belso csak a kulson belul "el". Static-ot meg talan tudsz siman Kulso.Belso valtozo = new Kulso.Belso() ;3. passz
Amugy azt polymorfizmusnak hivjak, amikor egy alosztalyt az ososztalyanak tekinted. Viszont igy hirtele fogalmam sincs, mi tortenik, ha privat class orokol az allattol..privat classbol egyaltalan lehet objektumot csinalni?
4. Tudtommal privat dolgokat NEM orokolnek az alosztalyok. Ha maga az ososztaly privat, akkor lehet ott dob hibat, amikor az alosztaly akar orokolni (tipp).
Protected egy olyan privat dolog, amit lehet orokolni, de kivulrol szinten nem fersz hozza.5. Amennyire tudom, egy classon belul alapbol minden privat.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Kaposvár és környéke adok-veszek-beszélgetek
- LordAthis: AI Kérdés érkezett - 3600 soros Spagetti kód refaktorálása és budget
- Autóápolás, karbantartás, fényezés
- Steam topic
- Mini-ITX
- Samsung Galaxy Ring - gyűrű-kúra
- A fociról könnyedén, egy baráti társaságban
- Magga: PLEX: multimédia az egész lakásban
- Mini PC
- Beelink ME Mini
- További aktív témák...
- Eladó karcmentes Apple iPhone 12 128GB / 12 hó jótállással
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Apple Watch SE 2020 ezüst, 44mm // Számla // Garancia // Válaszható szíj //
- AKCIÓ! 6TB Seagate SkyHawk SATA HDD meghajtó garanciával hibátlan működéssel
- Samsung Galaxy Tab S6 Lite / 4GB RAM 64GB / Független / 12 Hó Garancia
Állásajánlatok
Cég: FOTC
Város: Budapest