Hirdetés
- Három játékprofillal készült az új Arc meghajtó
- Befutottak a beágyazott rendszerekbe szánt, tempós Ryzenek
- Mi történik a szemeddel, ha napi 8 órát monitort nézel? | Orvos válaszol
- A Synology visszatáncolt a saját márkás HDD-k megkövetelésének kapcsán
- 350 Hz-es IPS kijelzővel gyarapodott a Samsung portfóliója
- Soundbar, soundplate, hangprojektor
- Külső 3,5'' mobil rack-ek topikja
- Vezetékes FEJhallgatók
- A karmos/ujjbegyes fogásokkal nyomulók örömére megjött az Arye szénszálas egere
- Azonnali VGA-s kérdések órája
- Vezeték nélküli fülhallgatók
- Milyen videókártyát?
- Kormányok / autós szimulátorok topikja
- Hogy is néznek ki a gépeink?
- Külső merevlemezek - USB, eSATA, FireWire HDD
Ú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!
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- GYÖNYÖRŰ iPhone XR 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3118, 100% Akkumulátor
- HP 150W töltők (19.5V 7.7A) kis kék, kerek, 4.5x3.0mm + tápkábel
- iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3617
- BESZÁMÍTÁS! 16GB (2x8) Patriot Viper Steel 4400MHz DDR4 garanciával hibátlan működéssel
- ÁRCSÖKKENTÉS MSI Z77 MPOWER Alaplap eladó
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest