Child pages
  • Java elmélet
Skip to end of metadata
Go to start of metadata
Sziasztok. Egy kis segítségre lenne szükségem. Itt vannak ezek a Java-s elméleti kérdések, megválaszolva. Megnézné valaki, hogy jól válaszoltam-e meg őket? És ha valami rossz azt kijavítaná? Köszönöm.


1.Mire való az import Valami.Adat; egy osztály definíciójában? Mi az a Valami? Mi az az Adat?
Névtér használat , Szintaktika:
1, import osztályteljesnév;
2, import csomagnév.*;
Működés:
1. Az importált osztályra (interfészre) a fordítási egységen belül a teljes név helyett pusztán az osztálynévvel hivatkozhatunk.
2. A megadott csomag összes osztályára (interfészére) vonatkozik. Ütközés esetén továbbra is a teljes név kell

3.Létezhet-e az (elso-masodik) kifejezés, és ha igen milyen típusú az eredménye, ha nem, akkor miért nem? (Mind az elso és a masodik Komplex típusú.)

Nem, mert nem terhelheted túl az operátort ( nem készíthetsz új műveletet )

4.Egy Valami nevű osztályban egy osztályszintű metódusban látható egy akarmi(); utasítás. Mit lehet tudni az akarmi-ről? (Mi ez?(osztály vagy osztályszintű metódus vagy példányszintű metódus vagy osztályszintű adattag vagy példányszintű adattag vagy lokális változó vagy paraméter)), Hol lehet definiálva? (Ebben az osztályban, valamelyik ősosztályban, bármelyik osztályban), Milyen lehet a hozzáférési kategóriája?, Milyen típusú?)

Az akarmi metódus a Valami osztály vagy annak valamely ősének a metódusa. Valószínűleg nincs visszatérési értéke ( mert nem adja át semminek, attól lehet, csak nem használja fel a programozó ). Nincsenek paraméterei.

6. Egy Valami nevű osztályban egy példányszintű metódusban látható egy a=alma.korte; utasítás. Mit lehet tudni alma-ról? Mit lehet tudni a korte-ről? Ha több lehetséges megoldás van mindet írja le!

Az alma egy osztály egy példánya, van egy static adattagja, ami a korte. A korte valószínűleg nyilvános adattag. az alma osztályé vagy annak valamely ősének az adattagja. Vagy félnyilvános, ha csomagon belül van.
A korte lehet nyilvános nem static adattag is.
hogy az alma egy másik példánya az osztálynak, amelyiknek az egyik adattagja a körte, és az "a" olyan típusú mint a körte
vagy lehet másik osztálynak a példánya is ha a körte nem privát

8.Osztályok tagjainak láthatóságát beállító módosítók?

-Private: az osztály nem példányosítható más osztályból, csak saját maga példányosíthatja
-Protected: csak a leszármazott osztályokban és a saját csomagban lévő osztályokban példányosítható
-Public: az osztály bármelyik osztályában példányosítható
-Egyik sem: csak saját csomagjában levő osztályokban példányosítható
Más módosítója nem lehet!

9.Hogyan kell definiálni egy metódust, hogy példányosítás nélkül is meghívható legyen?

A metódust static kulcsszóval kell ellátni, azaz osztályszintű metódusnak kell lennie.

10.Mire szolgál egy osztály definíciójában található "this(5);" utasítás? És hol van?

Konstruktorokra is lehetséges a függvény túlterhelés: többféle inicializálási lehetőség.Több konstruktor esetén a konstruktor első utasítása lehet egy this(param)hívás, amellyel valamelyik másik konstruktort hívjuk meg.


11.A "+" operátor alkalmazható-e referenciákra?

Referenciákra nem. toString-nél lehet, összefűzésre.

12.Lehetséges-e 2 egész változó értékét megcserélő metódus a következő fejléccel:
void csere(int a,int b). Ha igen írja meg a belsejét, ha nem miért nem?


Nem lehetséges, a primitívek ( int, double, boolean ) csak értéket tárolnak.

13.Milyen alapelvet sérthet a következő konstruktor?
public Akarmi(Komplex a){this.a=a};


Az adatrejtés elvét.

14.Hogyan lehet futtatni a Feladat csomag Proba osztályát?

Csak olyan osztály futtatható aminek van
public static void main(String[] args) {} metódusa.
előtte javac -cp classpath Proba.java => Proba.class fájl jön létre.
java Feladat.Proba

15.Osztály szintű metódus milyen adattagokat használhat?

Osztályszintű tagban nem lehet hivatkozni példányszintű tagra.
Az osztályszintű metódusokban csak az aktuális példány példányszintű tagjaira nem lehet hivatkozni, megnevezett (paraméterként megkapott, metóduson belül létrehozott, stb.) példány tagjaira igen.

16.Írja le a fejlécét egy olyan osztálynak ami a Példa csomagban van, leszármazottja a Valami osztálynak és megvalósítja az Inter interfészt!

Package Pelda;
Public class peldaOszt extends Valami implements Inter {
}


17.Mit jelent az import Valami.valahol sor az osztálydefiníció elején?

Az importált osztályra (interfészre) a fordítási egységen belül a teljes név helyett pusztán az osztálynévvel hivatkozhatunk.
A megadott csomag összes osztályára (interfészére) vonatkozik.
Ütközés esetén továbbra is a teljes név kell.
Fordítási egységen belül

18.Mikor konvertálható két referencia típus?

Egy referencia nem csak olyan típusúobjektumra mutathat, amilyen a referencia típusa.
Statikus tipus: deklaráláskor megadott tipus. Dinamikus tipus: a hivatkozott objektum tényleges típusa, befolyásolja, hogy a referencia mivé konvertálható.
Szabályok: Egy referencia felvehet értékül a statikus típusával megegyező vagy annak leszármazottja típust. Nem vehet fel egyéb típusút.

19. Mikor nem kell lekezelni egy kivételt egy függvényben, ha azt kötelezően le kellene kezelni?

-Kötelezően lekezelendő kivételek: a fordító ellenőrzi, hogy ezeket lekezeljük-e. Például az I/O műveletek során előfordulókivételek.
-Nem kötelezően lekezelendő kivételek: nem kötelező lekezelni. Ezek a RuntimeExceptionleszármazottai, ami viszont az Exceptionleszármazottja. Például a null referencia hiba, tömb index túllépés, stb.

20. Osztály szintű metódus milyen adattagokat használhat?

Osztályét ami előtt static kulcsszó van

21. Írja le a fejlécét egy olyan osztálynak ami a Példa csomagban van leszármazottja a Valami osztálynak és megvalósítja az Inter interfészt!

package Példa;
class Mitudomen extends Valami implements Inter{
}
      
      
Page viewed times
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels

1 Comment

  1. Jónak tűnik.

    Csak egy apró észrevétel: az 'import Valami.Adat' az nyelvtanilag helyes, de stilisztikailag helytelen, a csomagnevek mindig kisbetűsek, vagyis az 'import valami.Adat' a helyes. Abban az esetben helyes az 'import Valami.Adat', ha az Adat és a Valami is egy osztály, az Adat pedig a Valami beágyazott osztálya.