Administrativ
Laboratoare
Tema
Teste
Resurse utile
Alte resurse
Arhiva Teme
Administrativ
Laboratoare
Tema
Teste
Resurse utile
Alte resurse
Arhiva Teme
This is an old revision of the document!
Au fost 20 de întrebări, 4 variante de răspuns, un singur răspuns corect. 4 numere, aceleași 20 de întrebări în ordine diferită.
Metoda de evaluare: grilă franceză, -1/4 din punctajul unei întrebări la răspuns greșit, 0 dacă nu este marcat niciun răspuns.
Analizăm aici întrebările pe rând, structurat pe secțiuni.
1. Care dintre următoarele cuvinte cheie realizează \textit{moștenirea} în Java?
2. Care dintre următoarele concepte reprezintă o relație HAS-A?
3. Care variantă reprezintă o supraîncărcare corectă pentru metoda: protected int getGrade(String course)
protected int getGrade(String course) throws IOException
private int getGrade(String course)
protected long getGrade(String course)
public long getGrade(int studID)
4. Ce se afișează?
public class Test { public static void main(String []args) { Drink tea = new Tea(); tea.make(); } } class Drink { public static void make() { System.out.println("Making drink"); } } class Tea extends Drink { public static void make() { System.out.println("Making tea"); } }
5. Ce se afișează?
public class BasicInit { private int x; private boolean flag; protected String s; @Override public String toString() { return x + " " + flag + " " + s; } public static void main(String []args) { BasicInit basicInit = new BasicInit(); System.out.println(basicInit); } }
6. Ce se afișează?
class Device { public Device() { System.out.print("D"); } } public class Watch extends Device { public Watch() { System.out.print("W"); } public Watch(String name) { this(); System.out.print(name); } public static void main(String []args) { new Watch("F"); } }
7. Ce înseamnă constructorul implicit (default)?
8. Ce cuvinte cheie pot fi folosite pentru membrul MY_VALUE?
public interface Status { /* insert qualifier here */ int MY_VALUE = 10; }
9. Care variantă definește cel mai bine legătura dintre interfețe și clase?
10. Dacă B extinde clasa abstractă A și C extinde B, atunci care instanțiere este corectă?
11. Care din următoarele afirmații sunt adevarate despre clase interne statice? A. Nu au acces la membri non-statici ai clasei exterioare B. Este nevoie de o instanță a clasei externe pentru a o instanția C. Trebuie sa moștenească clasa exterioară D. Trebuie instanțiată astfel: Outer out = new Outer(); Inner in = out.new Inner();
12. Care dintre următoarele afirmații este adevărată cu privire la clasele anonime?
13. Ce se afișează?
Set<Integer> mySet = new LinkedHashSet<>(); mySet.add(1); mySet.add(10); mySet.add(100); System.out.println(mySet);
[10, 1, 100]
[100, 10, 1]
[1, 10, 100]
14. Ce colecție ar fi mai eficientă de folosit dacă dorim să stocăm o secvență de elemente pe care să o modificăm rar dar pe care să o accesăm foarte des?
15. Care instanțiere este corectă?
Set<Integer> set = new HashSet<Object>();
HashSet<Integer> set = new Set<Integer>();
Set<Integer> set = new HashSet<Integer>();
HashSet<Object> set = new HashSet<Integer>();
16. Ce este JUnit?
17. Ce se afișează?
public class Test { int count = 0; void modifyCount() throws Exception { try { count++; try { count++; try { count++; throw new Exception(); } catch(Exception e) { count++; throw new Exception(); } finally { count++; } } catch(Exception e) { count++; } } catch(Exception e) { count++; } } public static void main(String[] args) throws Exception { Test test = new Test(); test.modifyCount(); System.out.println(test.count); } }
18. Care dintre următoarele patternuri ar fi mai util dacă dorim ca anumite clase să fie notificate de schimbări ale altor clase?
19. Ce se afișează?
public class NetworkService { private static NetworkService instance = new NetworkService(); public String str; private NetworkService() { str = ""Hello, I am a string""; } public static NetworkService getService() { return instance; } public static void main(String[] args) { NetworkService a = NetworkService.getService(); NetworkService b = NetworkService.getService(); System.out.println(a.str == b.str); } }
20. Pentru a modela mai multe butoane din interfața grafică cu o anumită funcționalitate (ce este executată la apăsare) și diverse proprietăți (icon, text, animație), este o buna idee de a folosi urmatorul design pattern: