Interjú a java - OOP (kérdések és válaszok)

Kérdések és válaszok a témában a OOP (objektumorientált programozás) interjúk a Java.

List of all SEN kérdések

21. Miért van szükség az üzemben instanceof?
22. Miért van szükség és mik az inicializáló blokkok?
23. Mi az eljárás egy hívást a tervezők és a két osztály indítása blokk: leszármazottja őse?
24. Hol és milyen használja az absztrakt módosítót?
25. Van-e lehetőség arra, hogy egy módszer elméleti és statikus ugyanabban az időben?
26. Mi a kulcs mező a statikus?
27. Mely Java konstrukciók alkalmazandó módosító statikus?
28. Mi történik, ha a statikus kód blokk kap egy kivétel?
29. Lehetséges, hogy túlterheli a statikus módszer?
30. Mi az a statikus osztály, ami tud használni?
31. Mit tartalmaz az inicializálás végső statikus változók?
32. Hogyan működik a statikus módosítót az osztály / módszer / területen?
33. Mit jelent a kulcsszó végső?
34. Definiálja az a „felület”.
35. Melyek az alapértelmezett módosítók mezők és módszerek a felület?
36. Miért nem nyilvánítja felületet módszer végleges, vagy statikus?
37. Milyen típusú osztályok vannak java (beágyazott ... stb)
38. Melyek a sajátosságait a design beágyazott osztályok: statikus és egyszerű.
39. Mit tud a beágyazott osztályok, miért használják őket? Osztályozása, használati esetek, megsértve beágyazás.
40. Mi a különbség a beágyazott és belső osztályok?
41. Milyen osztályok úgynevezett anonim?
42. Hogy egy beágyazott osztály hozzáférés terén a külső osztály?

Válaszokat. 1. rész

Az objektum-orientált programozás (OOP) - egy programozási alapuló módszer fogalma a program, mint egy sor tárgyak, amelyek mindegyike egy példánya egy adott osztály, és az osztályok képeznek öröklődési hierarchia.

Az alapelvek a PFSZ: kivételi, tokozás, öröklés, polimorfizmus.

Absztrakció - jelenti a kibocsátás lényeges információt, és a kizárás szempont jelentéktelen. Egy programozási szempontból ez a helyes felosztása a tárgyak a program. Absztrakció segítségével kiválaszthatja, legfontosabb jellemzőit és alsó középfokú.

Példa: leírása pozíciók a cég. Itt a címe a vonatkozó információkat, és leírás a feladatok az egyes pozíciókban háttér-információkat. Például a fő jellemzője a „rendező”, hogy ez a helyzet a valami működik, és milyen volt (HR igazgató, pénzügyi vezérigazgató, ügyvezető igazgató), ez háttér-információk.

Kapszulázása - ingatlan a rendszer, amely lehetővé teszi, hogy összekapcsolják az adatok és módszerek a velük dolgozni az osztályban. Java helyesen fogja mondani, hogy a tokozás „bujkál a végrehajtását.” Az élet példa - a TV távirányító. Mi nyomja meg a gombot „kapcsolja fel a hangerőt”, és ez növeli, de ezen a ponton fordul elő több tucat folyamatok, amelyek rejtve előlünk. Java: létrehozhat egy osztályban 10 módszerekkel, például kiszámítja egy komplex terület a szám, hanem hogy közülük 9 magán. 10. Eljárás lesz az úgynevezett „vychislitPloschad ()” és a nyilvánosságra hozott, de van, hogy hívják a szükséges eljárások rejtve maradnak a felhasználó. Ez akkor okozhat a felhasználónak.

Öröklési - ingatlan a rendszer, amely lehetővé teszi, hogy egy új osztályát írják, a meglévő részben vagy teljesen kölcsönöz funkciót. Az osztály, amelyből öröklési készült, úgynevezett alap, a szülő vagy mikrotörzs. Új osztály - leszármazottja, örököse, leányvállalata vagy származtatott osztály.

Polimorfizmus - ingatlan a rendszert objektum azonos felület nélkül, semmilyen információt a típus és a belső szerkezete a tárgy. Példa (kissé megváltozott) a gondolkodás Java:

  • magán (zárt) - Hozzáférés a tagjai az osztály nem áll senkinek, de a módszerek ebben az osztályban. Más osztályok ugyanabban a csomagban, és nem tud hozzáférni a saját tagjai.
  • alapértelmezett, csomag, barátságos, megközelíthető alapértelmezés, ha nincs módosító van jelen - osztály tagja minősül nyílt saját csomagot, de nem kódot kívül található ez paketa.T.e. ha package2.Class2 kiterjed package1.MainClass. a Class2 módszerek ID nélkül a MainClass nem lesz látható.
  • védett (védett) - elérhető a csomag és a származtatott osztályok. Hozzáférés az osztály egy másik csomag lesz a módszereket az állami és védett a fő osztály. Ie ha package2.Class2 kiterjed package1.MainClass. belsejében package2.Class2 módszerek védett azonosítója MainClass látható.
  • nyilvános (nyitott) - Hozzáférés minden bármely más projekt kódja

A módosítók a listán vannak elrendezve emelkedő sorrendben láthatóság a programban.

Nem hozhat létre egy objektum osztály, melyek esetében csak saját kivitelező osztályon kívül. Ezért nem lehet örökölt ebben az osztályban. Amikor megpróbál öröklődik kap egy hiba: nincs alapértelmezett konstruktor rendelkezésre ClassName. És amikor megpróbál létrehozni egy objektumot az ebbe az osztályba: ClassName () rendelkezik saját hozzáféréssel ClassName

9. Mit jelent a kulcsszavakat: „ez”, „szuper”, hol és hogyan lehet használni?

szuper - használják utal az alap osztály, és ez a jelenlegi. például:

10. Adja fogalmának a „módszer”.

Módszer - több parancs, hogy hívja meg az adott nevet. Azt lehet mondani, hogy ez működik, és eljárások (abban az esetben érvénytelen módszer).

11. Mi az eljárás aláírás?

A módszer aláírás Java - az a módszer nevét, valamint a paramétereket (ha a megbízást paraméter).
A módszer aláírás nem tartalmazza a visszatérési értéket, kivéve dobott rájuk, valamint a módosító.

Kulcsszavak nyilvános, védett, saját, absztrakt, statikus, a végső, szinkronizált, natív, strictfp beleértve kommentár a módszer - módosítókat, amelyek nem részei az aláírást.

12. Milyen módszereket nevezzük túlterhelt?

Java lehetővé teszi, hogy többféle módszerrel, az azonos nevű, de különböző aláírások. Módszert létrehozni az azonos nevű, de más-más paramétereket nevezzük túlterhelése. Melyik túlterhelt módszereket kell elvégezni, ha a hívó, Java alapján dönt az aktuális paraméterek.

13. A Can nem statikus módszer, a statikus túlterhelés?

Igen. Ez lesz csak két különböző módszer a programot. Statikus elérhető lesz az osztály nevét.

A módszer egy származtatott osztály, amely megegyezik az aláírás a módszer a szülő osztály az úgynevezett kényszerítő módszerek. Felülbírálja az alap módszer nem lehet statikus: Bíróság módszer methodName a klassNaslednik nem írhatja felül a módszer methodName a roditelskiyKlass

15. Lehet egy módszer, hogy különböző számú paraméterek (változó hosszúságú érv)?

Igen. Vedd úgy néz módszer (típus ... val). Például public void módszer (String ... húrok). amely tömböt, vagyis felírható

Míg túlterhelés általában használják, hogy ne jöjjön létre egy új nevet minden alkalommal, amikor a módszerek különböznek csak a bemeneti paraméterek. Ha a túlterhelés szükséges eljárás meghatározható fordításkor alapuló helyi aláírási eljárást, mivel a kívánt manipulálhatók módszer látható lesz a végrehajtása során a tényleges objektum típusát.

20. Hol lehet inicializálni a statikus / nem-statikus mezők?

6674 Összes megtekintés 2 megtekintés Ma

32. Hogyan működik a statikus módosítót az osztály / módszer / területen?
...
Létrehozása, illetve felülíró mező nem lehet újra felhasználni (inicializált egyszer). --- ez a static final (Ui Kezdet újra meccset. Lehet, hogy valami nem tudom)

19. Mi a különbség a újradefiniálása torlódás?
A fő különbség az, hogy túlterhelés esetén szükséges eljárás meghatározható fordításkor alapuló helyi aláírási eljárást, mivel a kívánt manipulálhatók módszer látható lesz a végrehajtása során a tényleges objektum típusát.

Az átalakulás egy gyermek egy ős nevezett felfelé a szülőtől a gyermek - lefelé. Lefelé átalakítás kell külön megadni megadásával új típusú zárójelben.

Származás transzformáció (az őse leszármazott) végzik hallgatólagosan a lefelé (egy gyermek egy ős) - feltüntetésével új típusú zárójelben. Fix kérem.

Minden helyesen írva. Upcasting (felfelé) átalakítása ezt SomeClass CLS Object obj (leszármazottja ős). Ezzel CLS = (SomeClass) obj - downcasting (esetlen transzformáció). Ez határozottan kijelentette.


public class Test public static void main (String [] args) A a = új A ();
B b = new B ();

a = b; // lefelé - a szülőtől a gyermek - hallgatólagosan
b = (B) a; // emelkedik - egy leszármazottja egy őse - nyilvánvalóan
>
>

osztály <>
B osztály kiterjeszti A <>

Lefelé átalakítás kell külön megadni megadásával új típusú zárójelben.

nyilvános Dog () <
Rendszer. ki. println ( «A»); // ezt alatt kell lennie a kivitelező

nyilvános Dog (String name) <
Rendszer. ki. println ( «Hívás üres kivitelező»); // ezt a kivitelező felett

ezt. name = név;

16. Van-e lehetőség, hogy szűkítse a hozzáférés szintjét / visszatérő típus, ha nyomós?
„Amikor kényszerítő hozzáférés módosító nem szűkült a módszer” - a hozzáférés-módosító lehet hosszabbítani

Kapcsolódó cikkek