Quiz6
Java Programming Proficiency Quiz
Test your knowledge and skills in Java programming with this comprehensive quiz consisting of 26 challenging questions. It's perfect for developers, students, and anyone looking to deepen their understanding of Java.
Topics covered include:
- JPA and Entity Management
- Object-Oriented Programming Concepts
- Java Collections and Stream API
- Error Handling and Exceptions
- Data Types and Structures
) return p1.getPretUnitar().compareTo(p2.getPretUnitar());
return p2.getPretUnitar().compareTo(p1.getPretUnitar());
) return -p2.getPretUnitar().compareTo(p1.getPretUnitar());
) return -p1.getPretUnitar().compareTo(p2.getPretUnitar());
) Colectiile de tip TreeSet
permit adaugarea referintei unui obiect de mai multe ori;
Nu permit dublicarea elementelor;
Sunt conforme cu interfata Map;
Sunt conforme cu interfata Collection, dar pastreaza elementele ordonat dupa principiul codificat prin implementarea metodei compareTo().
Filtreaza elementele din streamul initial dupa un Predicat ce implica proprietatea idMembru;
Mapeaza elementele din streamul initial dupa o Functie ce implica proprietatea idMembru;
Listeaza in final proprietatea numePrenume a fiecarei instante Membru din streamul initial;
listeaza in final proprietatea numePrenume a instantei Membru cu IdMebru 4;
In cadrul JPA, in clasele entitati declarate @Entity ar putea fi introdusa si
Adnotarea @SingleToMany pentru definirea asociatiilor 1-M cu alte entitati din model;
Adnotarea @OneToMany pentru definirea asociatiilor 1-M cu alte entitati din model;
Adnotarea @Id pentru definirea campului care va genera cheia primara a tabelei SQL de mapare;
Adnotarea @PrimaryKey pentru definirea campului care va genera cheia primara a tabelei SQL de mapare;
Entitatile JPA pot fi incluse/atrase intr-un context de persistenta:
in mod direct prin metoda cascade() a EntityManager-ului
In mod direct prin metoda persist() a EntityManager-ului
in mod indirect prin metoda persist() a clasei EntityManagerFactory
in mod direct prin metoda merge() a EntityManager-ulu
Declaratia unei variabile de instanta in Java presupune specificarea (multipla)
variabilitatii
Tipului
. Argumentelor parametrizabile
. numelui
(optional) a unei valori de initializare default
Caracterului primitiv sau non-primitiv
. La ce se refera latura "sociala" a obiectelor in contextul interactiunilor dintre acestea (simpla):
manifestari specifice obiectelor complexe (sau compuse)
Reprezentarea contextuala a obiectelor
. Responsabilizarea functionala a obiectelor
. Comportamente individualizate
Date fiind urmatoarele metode statice (simpla): static void testCommands(String str){ try { processComands(str); System.out.println("Successfully processed: "+ str); } catch (Exception ex) { if (ex.getClass().equals(ProcessComandException.class)) System.out.println("test Exceptions: " + ex.getMessage()); else throw ex; } } static void processComands(String str) { if (str == null || str.length() == 0) throw new RuntimeException("Command empty!"); if (str.startsWith("ssh")) throw new ProcessComandException("Unkown command!") } si, de asemenea, clasa: class ProcessComandException extends RuntimeException{ public ProcessComandException(String mesaj){ super("ProcessComandException: " + mesaj); } } Ce s-ar putea obtine in urma executiei metodei test-mail?
Successfully processed: ssh user@dns
Test Exceptons: ProcessComandException: Unkown command!
Eroare compilare: lipseste blocul try-catch pentru operatia testCommands
Java.lang.RuntimeException: Command empty!
ProcessComandException: Command empty!
Instantele clasei Exception (sau ale subclaselor sale):
Pot fi returnate prin instructiunea return
Pot fi aruncate prin instructiunea throw
Nu trebuie tratate local, chiar daca nu sunt declarate in semnatura (definitia) metodelor din care sunt "aruncate"
. Trebuie declarate in semnatura (definitia) metodelor din care sunt "aruncate", daca nu sunt tratate local
In programarea OO ascunderea informatiei se refera la:
. Protejarea detaliilor structurale (informationale) ale obiectelor
. Gestionarea vizibilitatii atributelor sau variabilor de instanta
. Vizibilitatea operatiilor sau metodelor de implementare
"incapsularea comportamentala" a obiectelor
Fiind data urmatoarea secventa de cod: Integer a = 7; Double b = 7.0; Integer c = 2; Number r1 = a/c; Number r2 = b/c; Number r3 = a + c; Number r4 = b + c
R3 va fi de tip double
R3 va fi de tip int
R1 va fi avea valoarea Integer 3
r3 va fi de timp Integer
R3 va fi de tip Double
R1 va fi avea valoarea Double 3.5
Data fiind clasa Cerinta cu urmatoarea structura: Cerinta __________________________ -idCerinta: long [1] -denumire: String[1] -descriere: String[1] (considerati generate metodele get/set pentru fiecare proprietate si, de asemenea, toti constructorii necesari). Pentru ca procesarea urmatoare sa fie valida, care dintre afirmatii trebuie sa fie adevarata? Public static void main(String[] args) { // Cerinta c1 = new Cerinta(1); c1.setDenumire("Model UIX"); c1.descriere = "Design Model Frontend"; System.out.println("c1.descriere: " + c1.getDescriere());
Atributul denumire poate avea vizibilitatea private sau protected, daca este modificabil prin setter
Daca atributul descriere este protected , clasa de test si clasa Cerinta trebuie sa se gaseasca in acelasi pachet
Daca atributul descriere este declarata private , clasa de test si clasa Cerinta trebuie sa se gaseasca in acelasi pachet
Atributele denumire si descriere nu pot fi in acelasi timp private
Pentru ca atributul denumire sa poata fi modificat printr-o operatie setter, atunci el trebuie declarat public
Atributul id trebuie declarat public pentru ca sa poata fi invocat din constructorul Cerinta(Integer id)
In cazul interfetelor, spre deosebire de clase:
Nu este permisa nici o alta declaratie cu exceptia operatiilor
. Cu exceptia operatiilor, mai sunt permise declaratiile de constante
Este posibila chiar si mostenirea multipla
Nu este permisa mostenirea sub nici o forma
Prin specializare, subclasele:
Pot supraincarca (redefine) atributele (variabilele de instanta) mostenite
Au access neconditionat la variabilele de instanta din superclase
Pot rescrie (redefine) atributele (variabilele de instanta) mostenite
. Au acces la variabilele de instanta din superclase declarate public sau protected
. Mostenesc (preiau) in structura lor toate variabilele de instanta declarate in super-clase
Colectie de tip TreeSet
. Sunt conforme cu interfata Collection, dar pastreaza elementele ordonate dupa principiul codificat prin intermediul metodei
Permit adaugarea referintei unui obiect de mai multe ori
Sunt conforme cu interfata Map
Nu permit duplicarea elementelor
Data fiind urmatorul model cu clasa Membru: Membru ______________________ + idMembru: long[1] + numePrenume: String[1] + rol: String[1] (considerati generate metodele get/set pentru fiecare proprietate si, de asemenea, totitoti constructorii necesari) Care ar fi natura procesarii si ce rezultatul final s-ar putea obtine din urmatorul test? Public static void main(String[] args) { // Instantiere model Membru[] membrii = { new Membru(1, "Developer 1"), new Membru(2, "Developer 2"), new Membru(3, "Developer 3"), new Membru(4, "Developer 4"), new Membru(5, "Developer 5") }; Map mapMembri = new HashMap(); Stream streamMembri = Arrays.stream(membri); streamMembri.forEach(m -> mapPembri.put(m.getIdMembru(), m)); // Procesare Model Membru m = mapMembri.get(4); System.out.println(m.getNumePrenume()); }
Rezultatul final corect ar fi: Developer 5
. Procesarea are in vedere cautarea in tabela de asocieri a membrului de pe pozitia 4 (al cincilea in ordinea instantierii)
Rezultatul final corect ar fi: 4
Procesarea are in vederea cautarea in tabela de asocieri a cheii cu valoarea 4
Procesarea are in vederea cautarea in tabela de asocieri a membrului cu id-ul 4
Rezultatul final corect ar fi: Developer 4
Interfetele clasei Exception sunt generate pentru:
afisarea la consola a unor mesaje catre utilizatori care parametri ai operatiei println() din System.out
Pot intrerupe executia unei metode si afisa mesaje la consola prin operatia printStackTrace();
pot genera erori de compilare daca nu sunt preluate in structuri de tip catch();
Pot genera erori de compilare daca nu sunt preluate in structuri de tip switch();
Prin operatiile definite la nivelul obiectelor sunt abstractizate elemente legate de
Referentierea obiectelor;
Structura informationala a obiectelor;
Responsabilitati comportamentale ale obiectelor;
Starea obiectelor
Tipul fundamental int din limbajul Java:
Este considerat un tip de acoperire pentru tipul primitiv Integer;
este considerat un tip primitv
. Reprezinta valori numerice intregi pe 32 de biti;
Reprezinta valori numerice intregi pe 4 bytes;
Clasa StringBuilder este utila pentru:
Reprezentarea optimizarea procesarii adunarii sirurilor de valori numerice
Modificarea structurii sirurilor de caractere imutabile
Reprezentarea sirurilor de caractere;
.reprezentarea optimizarea procesarii concatenarilor de siruri de caractere
Prin atributele definite la nivelul obiectelor sunt abstractizate elemente legate de :
Referentierea obiectelor
Starea obiectelor
Structura informationala a obiectelor
Responsabilitati comportamentale ale obiectelor
Comportamentul obiectelor ( operatiile declarate ) implementat intr-o clasa specifica poate fi abstractizat:
Prin mai multe clase parinte ce vor fi extinde clasa initiala;
printr-o interfata care va prelua doar operatiile relevante si declarate cu specificatorul public;
prin mai multe clase parinte ce vor transforma clasa initiala intr-o clasa compusa (agregat);
Prin segregarea in mai multe interfete ce vor fi implementate de clasa initiala
Prin declararea de membri interni campuri ( sau variabile de instante) ce pot fi initializate cu referinte catre instante din alte clase:
Se poate aplica principiul reutilizabilitatii prin compunere;
se poate aplica principiul reutilizabilitatii prin specializare
. Se poate aplica principiul reutilizabilitatii prin generalizare;
se poate aplica principiul reutilizabilitatii prin mostenire;
Se poate aplica principiul reutilizabilitatii prin agregare;
Aplicarea principiului reutilizabilitatii prin extindere in subclase implica
Mostenirea membrilor atribute sau variabile de instanta;
mostenirea metodelor constructori apelabile prin this();
Mostenirea metodelor constructori apelabile prin super()
mostenirea tuturor metodelor cu exceptia constructorilor;
Specificatorul protected implementeaza principiul ascunderii informatiei prin
Restrictionarea accesului din clasele din pachete externe la membri interni;
B. Limitarea accesului la membrii interni doar din contextul subclaselor si al claselor din acelasi spatiu de nume ( package );
Incapsularea completa a membrilor interni, inclusiv pentru subclase;
Permiterea accesului prin instructiunile de import
{"name":"Quiz6", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Test your knowledge and skills in Java programming with this comprehensive quiz consisting of 26 challenging questions. It's perfect for developers, students, and anyone looking to deepen their understanding of Java.Topics covered include:JPA and Entity ManagementObject-Oriented Programming ConceptsJava Collections and Stream APIError Handling and ExceptionsData Types and Structures","img":"https:/images/course2.png"}