Sunteți pe pagina 1din 53

TESTE GRILĂ JAVA

1. Ce se va afișa la rularea urmatorului cod?


public static void main(String[] args) {
String s = 0+1+"ONE"
+3+2+"TWO"+"THREE"
+5+4+"FOUR"+"FIVE"+5;
System.out.println(s);
}
A. 01ONE32TWOTHREE54FOURFIVE5
B. 1ONE32TWOTHREE54FOURFIVE5
C. 1ONE5TWOTHREE9FOURFIVE5
D. 01ONE5TWOTHREE9FOURFIVE5

2. Ce metode sunt vizibile din clasa B?


package A;
class A {
private void show1() {}
protected void show2() {}
void show3() {}
}

(alt fisier)
package B;
class B extends A {
public void show2() {}
}
1. show1, show2 din B, show3
2. show2 din B, show2 din A, show3
3. codul nu compilează datorită suprascrierii greșite
4. show2 din B, show2 din A

3. Fie următoarele clase:


public class A {
int x;
int y;

A() {
x = 1;
y = 1;
}

A(int x) {
this.x = x;
this.y+=1;
}
}

class B extends A {
B(int x) {
this.y += this.x + x;
}
}
Ce se afişează dacă rulăm:
System.out.print(new A(1).y);
System.out.print(new B(1).y);
A. 23
B. 24
C. 35
D. 13

4. Ce valoare va returna b.show() ?


public class B {
B b = new B();

public int show () {


return (true ? null : 0);
}

public static void main(String[] args) {


B b = new B();
b.show();
}
}
A. java.lang.NullPointerException
B. java.lang.StackOverflowError
C. 0
D. null

5. Care dintre următoarele clase sunt imutabile?


A. public class Test { private final int x = 3 };
B. Object, String
C. Integer, String
D. public final class Test { public int y; Test(int y) { this.y = y;} }

6. Care afirmație este corectă?


E. clasă poate implementa mai multe interfețe, însă poate extinde o singură clasă abstractă
A. clasă abstractă are cel puțin o metodă abstractă
B. membrii unei clase abstracte sunt considerați \texttt{static final}
C. în interfețe și clase abstracte nu pot fi definite metode statice
7. Care afirmaţii sunt corecte? (Ci denotă clase, Ii denotă interfeţe)
A) C1 extends I1;
B) I1 extends I2, I3;
C) I1 implements I2;
D) C1 implements I1,I2;
E) C1 extends C2, C3.
▪ A, B, C, E
▪ B, D, E
▪ B, D
▪ C, E

8. Care variantă reprezintă supraîncărcarea corectă a metodei: String getMessage()


▪ public String getMessage() ?????????
▪ StringBuffer getMessage()
▪ public String getMessage(String from)
▪ public String getMessage() throws Exception

9. Care dintre urmatoarele variante nu defineste încapsularea?


▪ expunerea unei interfețe high-level de lucru cu obiectul
▪ accesul la membri private folosind metode de tip getter și setter
▪ posibilitatea suprascrierii (overriding) metodelor
▪ construirea de obiecte complexe și ascunderea modului lor de funcționare

10. Care combinație reprezintă, într-o clasă pe nume Test, o suprascriere, respectiv o supraîncărcare
validă (overriding și overloading) pentru metoda equals din java.lang.Object?
▪ public Boolean equals (Object o) \ protected Integer equals (Object b)
▪ boolean equals(Object o) \ public boolean equals(Test t)
▪ public Boolean equals (Object t) \ public int equals (Object b)
▪ public boolean equals(Object t) \ public int equals(Test t)

11. Ce se afișează la execuția codului următor (dacă se execută):


Package.java
public class Package {
public String checksum() { return "Package"; }

public static void main(String []args) {


Comm c = new Comm();
System.out.println(c.send((Package)new UDP()) + "; "
+ c.send(new TCP()) + "; "
+ c.send(new UDP()));
}
}

class UDP extends Package {


public String checksum() { return "UDP"; }
}

class TCP extends Package {


public String checksum() { return "TCP"; }
}

class Comm {
String send(Package p) { return "PKG:" + p.checksum(); }
String send(UDP p) { return "UDP:" + p.checksum(); }
String send(TCP p) { return "TCP:" + p.checksum(); }
}
A. codul are o eroare de compilare
B. UDP:UDP; TCP:TCP; UDP:UDP
C. PKG:UDP; TCP:TCP; UDP:UDP
D. PKG:UDP; PKG:TCP; PKG:UDP

12. Care din următoarele afirmații este adevărată despre clasele interne statice în Java:
A. Este nevoie de o referință la un obiect din clasa externă pentru a putea instanția un
obiect al clasei interne
B. Nu are acces la membrii non-statici ai clasei externe
C. Atributele și metodele conținute de aceasta trebuie să fie statice
D. Trebuie neapărat să moștenească clasa externă

13. Cum afișăm y din Inner?


class Outer {
int y;
private class Inner {
int y;
}
}

class Outer1 extends Outer {


public void show() { //todo afisare y}
}
A. System.out.println(this.new Inner().y);
B. System.out.println(super().new Inner().y);
C. System.out.println(Outer.this.Inner().y);
D. nici una

14. Care declarație este corectă?


A. List<Integer> list = new List<Integer>();
B. ArrayList<Integer> list = new List<Integer>();
C. ArrayList<Object> list = new ArrayList<Integer>();
D. List<Integer> list = new ArrayList<Integer>();
15. Ce colecție ar fi cel mai bine de folosit dacă am vrea să menținem o serie de
configurări/proprietăți ale aplicatiei, citite dintr-un fișier de configurare. Alegeți în funcție de cat de
ușor e de lucrat cu colecția respectivă în cazul de față, al lizibiltății codului și eficiența d.p.d.v. al
timpului de acces.
A. ArrayList
B. HashSet
C. HashMap
D. LinkedHashSet

16. Care afirmație este falsă?


A. interfața Comparable<T> conține o metodă int compareTo(T o);
B. interfața Comparator<T> conține o metodă int compare(T o1, T o2);
C. interfața Comparator<T> conține o metodă int compareTo(T o);
D. interfața Comparator<T> conține o metodă boolean equals(Object obj) ce face override
metodei din Object;

17. Ce se va întâmpla la rularea următorului program?


public class Test {
public static int f(int i){
try{
System.out.print(i);
return 1;
} finally{
try {
return 10 / 0;
} catch (Throwable e){
return 100;
} finally {
System.out.print(7);
}
}
}

public static void main(String[] args){


System.out.print(f(9));
}
}
A. 9100
B. 97100
C. 91007
D. 977100

18. Care afirmație este corectă pentru codul următor?


import java.io.*;
public class ErrorTest {
void foo() throws IOException {
throw new RuntimeException();
}

public static void main(String[] args) {


ErrorTest err = new ErrorTest();
try {
err.foo();
} catch (IOException e) {
System.out.println("Caught exception");
}
}
}
A. se va afişa Caught exception
B. eroare la rulare: RuntimeException
C. eroare la compilare: antetul metodei foo trebuie să includă şi RuntimeException în
clauza throws
D. eroare la compilare: trebuie adăugat un bloc catch şi pentru RuntimeException

19. Ce design pattern ar fi util de folosit în cazul în care avem o colecție de date și dorim să facem o
statistică relevantă în funcție de un anumit criteriu?
A. Visitor
B. Command
C. Factory
D. Strategy

20. Ce design pattern folosim dacă vrem să simulăm pasarea și procesarea de “pointeri la funcții”
încapsulați în obiecte?
A. Command
B. Factory
C. Singleton
D. Observer

21.Ce reprezinta Incapsularea?


a) un algoritm de afisare
b) regruparea mai multor elemente de date si/sau de comportament
c) o metoda Java
d)afiseaza detaliile interne

22.Ce spatiu de memorie este utilizat pentru o variabila de tip boolean?


a)2 biti
b)8 biti
c)16 biti
d)1 bit
23.Ce gama de valori are variabila de tip boolean?
a) – 128 .... 127
b) -32768 … 32767
c)true false
d) -2147483648 … 2147483647

24.Ce rol are comanda „javac”?


a)are rol de compilare
b)are rol de interpretare
c)nu are niciun rol
d)este doar un argument

25.Ce rol are „parseInt”?


a)obtine de la utilizator o valoare de tip sir de caractere
b)converteste o valoare de la string la int
c)converteste o valoare de la int la string
d)afisarea unei variabile int

26.Care dintre urmatoarele cuvinte cheie tin numai de orientarea spre obiecte?
a)public
b)break
c)static
d)short

27.Ce reprezinta operatorul „>>>”?


a)deplasarea la dreapta
b)deplasarea la stanga
c)nu exista
d)deplasarea la dreapta cu umplere cu zero

28.Operatorul „~” reprezinta:


a)negare logica pe biti
b)incrementare
c)decrementare
d)negare unara

29.Constructorul Java
a)are acelasi nume cu numele clasei in care este declarat
b)returneaza valori
c)are nivele diferite de accesibilitate fata de medotele obisnuite
d)este o clasa
30.Semnatura metodei NU specifica:
a)numele metodei
b)lista de parametrii formali
c)tipul valorii returnate
d)secventa de instructiuni a implementarii

31. Ce reprezinta „println” din urmatoarea linie de cod? public void println (String line)
a)specificator de acces
b)tip de valoare returnata
c)nume parametru
d)nume metoda

32.In codul urmator:


public class C2{
public static void inc(int[] i) {
i[0]++;}

a)primeste o copie a referintei cu valoare diferita


b)este incrementat primul element al tabloului
c)incrementeaza ultimul element al tabloului
d)afiseaza tabloul

33.In declaratia unei clase, „final” are rolul:


a)clasa nu poate fi instantiata
b)orice cod exterior are acces la codul clasei
c)implementeaza o interfata
d)nu poate avea subclase

34.In declaratia unui atribut, „static”:


a)are caracter global, de clasa
b)previne compilatorul de la a efectua anumite optimizari asupra atributului
c)niciun cod nu are acces la atribut
d)semnificatia tine de serializarea obiectelor

35. Dacă elementele opţionale nu sunt declarate se presupune implicit ca metoda:


a)nu are caracter de obiect
b)are protectie la accesul concurent la informatii partajate
c)nu are parametrii
d)nu poate fi rescrisa in subclase

36. Care din urmatoarele nu este categorie de scop a variabilelor Java?


a)camp/atribut/variabila membru
b)variabila globala
c)variabila locala
d)parametrul unei metode
37. Asocierile dintre clase:
a)nu sunt abstractizari ale legaturilor dintre obiecte
b)nu realizeaza o legatura dinamica
c)exista intre un obiect ultilizator si un obiect tinta
d)implica apelul unui constructor

38.Care afirmatie este corecta?


a)agregarea este o relatie de subordonare a unei clase de catre o alta clasa
b)obiectele contin generealitati
c)clasele contin particularitati
d)generalizarea inseamna extragerea elementelor unice din fiecare clasa

39. Ce este mostenirea?


a)constructia unei clase pornind de la una sau mai multe clase
b)o relatie intre constructori
c)o relatie ce intra in definirea obiectelor
d)tehnica de particulariare in cadrul relatiilor intre clase

40. Specializarea:
a)inseamna capturarea generalitatilor elementelor identice
b)inseamna capturarea generalitatilor elementelor distincte
c)extinde o superclasa
d)este utila pentru extinderea coerenta a unui ansamblu de superclase

41.Subclasele (clasele care extind prin mostenire) nu pot:


a)sa adauge noi atribute
b)sa adauge noi metode
c)mostenii constructorii clasei de baza
d)mostenii metodele din clasa de baza care nu sunt rescrise

42.Ce va afisa urmatoarea secventa de cod? System.out.println("Buna ziua);


a)nu va afisa nimic(din cauza unei erori de compilare)
b)”Buna ziua”
c)programul nu va complila(din cauza unei erori de program)
d)programul afiseaza „Buna+nume”, numele fiind introdus de la tastatura

43.Ce efect va avea eliminarea primei acolade din linia 1 a urmatoarei secventa de cod?
public class Salut {
public static void main(String[] args) {
System.out.println("Buna ziua");}}

a)nu va avea niciun efect


b)eroare de compilare
c)eroare de program
d)Masina Virtuala Java sesizeaza inexistenta unei metode Java cu semnatura completa

44.Ce reprezinta a treia linia din urmatoarea secventa de cod?

public class SalutUtilizator0 {


public static void main(String[] args) {
String modSalut = "Salut ";
String nume = args[0];
System.out.println(modSalut + nume + "!");}}

a)utilizare unui argument


b)concatenare
c)variabila globala metodei
d)variabila locala metodei

45.Care din urmatoarele poate fi conversie implicita?


a)int → char
b)byte → char
c)long → float
d)float → long

46.Ce se intampla la apelarea urmatoarei secvente de cod?

Circle circle1 = new Circle();


circle1.makeVisible();
circle1.moveHorizontal(200);
circle1.changeSize(50);
circle1.changeColor("yellow");

a)realizarea unui cerc de culoare galbena


b)realizarea unui patratat galben
c)nu se creaza nicio forma noua, ci doar se muta una existenta pe orizontala
d)schimba culoarea unei forme existente in galben

47.O clasa care are totii constructorii privati :


a)nu poate fi mostenita
b)noate fi mostenita
c)poate fi instantiata
d)trebuie declarata clasa finala

48. Care dintre următoarele cuvinte cheie realizează moștenirea în Java?


A. implements
B. inherits
C. extends
D. super

49. Care dintre următoarele concepte reprezintă o relație HAS-A?


A. moștenirea
B. polimorfismul
C. agregarea
D. încapsularea

50. Care variantă reprezintă o supraîncărcare corectă pentru metoda: protected int getGrade(String
course)
A. protected int getGrade(String course) throws IOException
B. private int getGrade(String course)
C. protected long getGrade(String course)
D. public long getGrade(int studID)

51. 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");
}
}
A. Making tea
B. Making drink
C. eroare la compilare, metoda make nu poate fi suprascrisă
D. excepție la rulare

52. 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);
}
}
A. 0 true
B. null true
C. 0 false null
D. null false null

53. 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");
}
}
A. WF
B. DWF
C. DW
D. DF

54. Ce înseamnă constructorul implicit (default)?


A. constructor fără parametri declarat de utilizator
B. constructor fără parametri adăugat de Java dacă nici un constructor nu a fost declarat
C. constructor fără implementare
D. constructor fără modificatori de acces
55 Ce cuvinte cheie pot fi folosite pentru membrul MY_VALUE?
public interface Status {
/* insert qualifier here */ int MY_VALUE = 10;
}
A. final, static, private
B. final, static, protected
C. final, private, abstract
D. final, static, public

56 Care variantă definește cel mai bine legătura dintre interfețe și clase?
A. Atât clasele, cat și interfețele definesc modul în care un obiect execută o operație
B. Interfețele precizează operațiile expuse de un obiect, în timp ce clasele modul în care
acesta le execută
C. Nici clasele, nici interfețele nu precizează modul în care un obiect execută o operație
D. Nu pot exista relații între clase și interfețe

57 Dacă B extinde clasa abstractă A și C extinde B, atunci care instanțiere este corectă?
A. C cb = new B();
B. B ba = new A();
C. A ab = new B();
D. C ca = new A();

58 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();
A. A
B. B, D
C. A, B
D. C

59 Care dintre următoarele afirmații este adevărată cu privire la clasele anonime?


A. clasele anonime trebuie să aibă în constructor o referință către clasa exterioară
B. clasele anonime trebuie să definească explicit constructorul fără parametri
C. claselor anonime nu li se poate declara un constructor
D. niciuna din variante

60 Ce se afișează?
Set<Integer> mySet = new LinkedHashSet<>();
mySet.add(1);
mySet.add(10);
mySet.add(100);
System.out.println(mySet);
A. [10, 1, 100]
B. [100, 10, 1]
C. [1, 10, 100]
D. numerele vor fi afișate într-o ordine arbitrară

61 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?
A. LinkedList
B. ArrayList
C. Vector
D. niciuna din variante

62 Care instanțiere este corectă?


A. Set<Integer> set = new HashSet<Object>();
B. HashSet<Integer> set = new Set<Integer>();
C. Set<Integer> set = new HashSet<Integer>();
D. HashSet<Object> set = new HashSet<Integer>();

63 Ce este JUnit?
A. un framework pentru integration testing
B. un framework pentru unit testing
C. un framwork pentru fuzzy testing
D. un framework pentru system testing

64 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);
}
}
A. 6
B. 4
C. 5
D. 7

65 Care dintre următoarele patternuri ar fi mai util dacă dorim ca anumite clase să fie notificate de
schimbări ale altor clase?
A. Visitor
B. Strategy
C. Factory
D. Observer

66 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);
}
}
A. true
B. false
C. 0
D. 1

67 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:
A. Visitor Pattern
B. Singleton Pattern
C. Factory Pattern
D. Command Pattern

68 Care dintre urmatoarele afirmații sunt adevarate despre pachete în Java? 1) Orice clasă aparține
unui pachet 2) Toate clasele dintr-un fișier aparțin aceluiași pachet 3) Daca nu se specifică niciun
pachet, clasele vor aparține unui pachet special făra nume 4) Daca nu se specifică niciun pachet, se
creează un nou pachet cu numele folderului în care se află clasa, iar aceasta va aparține acestui
pachet
A. 1, 2, 4
B. 1, 2, 3
C. 1, 3
D. 2, 4

69 Care este rezultatul programului?


public class Fruit {
Fruit() {
System.out.print(" Fruit ");
}

public static void main(String[] args) {


Fruit cherry = new Cherry(" Sour ");
}
}

class Cherry extends Fruit {


Cherry() {
System.out.print(" Cherry ");
}

Cherry(String type) {
this();
System.out.print(type + " Cherry ");
}
}
A. Fruit Cherry Sour Cherry
B. Fruit Sour Cherry
C. Cherry Sour Cherry
D. Sour Cherry Cherry Fruit

70 Câte interfețe poate extinde o interfață în Java?


A. una singura
B. oricâte
C. o interfață implementează alte interfețe, nu le extinde
D. niciuna

71 De câte ori se realizează method overriding (suprascriere) și de câte ori method overloading
(supraîncarcare)?
class Dog {
void bark() {
System.out.println("This dog is barking...");
}
}

class Husky extends Dog {


void bark() {
System.out.println("Husky is barking...");
}

void bark(int time) {


System.out.println("Husky is barking for "+time+" minutes");
}

int bark(String food) {


System.out.println("Husky wants " + food);
return 0;
}
}
A. 1 overriding si 2 overloading
B. 2 overriding si 1 overloading
C. 1 overriding si 1 overloading
D. 3 overriding si 1 overloading

72 Ce afișează următorul program?


public class Coffee {
public static void main(String[] args) {

CoffeeMaker coffeemaker = new StarbucksCoffeeMaker();


Coffee espresso = new Espresso();
Cappuccino cappuccino = new Cappuccino();
coffeemaker.makeCoffee(espresso);
coffeemaker.makeCoffee(cappuccino);
}
}

class Espresso extends Coffee {


}

class Cappuccino extends Coffee {


}

class CoffeeMaker {
public void makeCoffee(Coffee coffee) {
System.out.println("Making coffee");
}

public void makeCoffee(Espresso coffee) {


System.out.println("Making espresso");
}

public void makeCoffee(Cappuccino coffee) {


System.out.println("Making cappuccino");
}
}

class StarbucksCoffeeMaker extends CoffeeMaker {


public void makeCoffee(Espresso coffee) {
System.out.println("Making sugar espresso");
}

public void makeCoffee(Cappuccino coffee) {


System.out.println("Making sugar cappuccino");
}
}
A. Making coffee
Making sugar cappuccino
B. Making espresso
Making cappuccino
C. Making sugar espresso
Making sugar cappuccino
D. Making coffee
Making cappuccino

73 Care este valoarea de adevar a următoarelor afirmații? Clasele interne îmbunătățesc încapsularea.
Clasele interne anonime trebuie să definească explicit constructorul fără parametri.
A. Adevarat, Adevarat
B. Adevarat, Fals
C. Fals, Adevarat
D. Fals, Fals

74 Care dintre următoarele colecții nu sunt iterabile (nu implementează patternul Iterable oferit în
Java prin interfața Iterable)?
A. ArrayList
B. HashMap
C. Queue
D. Set

75 Ce afișează următorul program?


class Test {
public static void main(String[] args) {
System.out.println(breakingStuff());
}

public static int breakingStuff() {


try {
try {
throw new Exception();
} catch (Exception e) {
return 1;
} finally {
return 2;
}

} catch (Exception e) {
return 3;
} finally {
return 4;
}
}
}
A. 1
B. 2
C. 3
D. 4

76 Visitor Pattern si Observer Pattern, din punct de vedere al clasificării Gang of Four, sunt:
A. Visitor este un design pattern behavioural, iar Observer este structural
B. Visitor este un design pattern structural, iar Observer este behavioural
C. ambele sunt behavioural
D. ambele sunt structural
77 Stabiliți valoarea de adevăr a următoarelor propoziții: Metodele statice nu pot fi suprascrise.
Clasele interne statice nu pot fi extinse.
A. Fals, Fals
B. Fals, Adevarat
C. Adevarat, Fals
D. Adevarat, Adevarat

78 Ce va afișa următorul program?


class Test {
public static void main(String args[]) {
String s1 = "Wow, am luat 10 la grila la POO!";
String s2 = new String(s1);
System.out.println((s1 == s2) + " " + s1.equals(s2));
}
}
A. true true
B. false false
C. true false
D. false true

79 Care dintre urmatoarele afirmații este corectă?


A. Cuvântul final în fața unei metode arată faptul că acea metoda poate fi apelată doar în clasa
respectivă
B. O clasa final nu poate fi instanțiată
C. Cuvantul final în fața unei variabile arată că acea variabilă poate fi assignata o singura dată
D. Toate cele de mai sus

80 Care dintre urmatoarele afirmații despre clase abstracte în Java sunt FALSE: 1) Daca derivăm o
clasa abstractă și nu implementam toate metodele abstracte, atunci clasa derivată trebuie de
asemenea sa fie abstractă 2) Clasele abstracte pot avea constructori 3) O clasă nu poate fi abstractă
făra o metoda abstractă 4) O clasă abstractă poate moșteni de la mai multe clase abstracte
A. 1, 2
B. 1, 3
C. 3, 4
D. 1, 3, 4

81 Se dau următoarele clase:


class Lion {}
class LionKing extends Lion {}
class SimulateAnimal {
protected Lion roar(char a) { //do stuff }
}
class Game extends SimulateAnimal {
// TODO suprascriere roar
}
Care dintre următoarele reprezintă o suprascriere corectă a metodei roar?
A. protected LionKing roar(int a)
B. private Lion roar(char a)
C. public LionKing roar(char a)
D. public LionKing roar(char a, int b)

82 Ce afișează următorul program?


class Dacia {
String model = "duster";

public Dacia() {
printModel();
}

void printModel() {
System.out.print(model);
}
}

public class Ferrari extends Dacia {


String series = "f40";

void printModel() {
System.out.print(series);
}

public static void main(String[] args) {


Ferrari myCar = new Ferrari();
}
}
A. duster
B. f40
C. null
D. duster f40

83 Care este valoarea de adevar a următoarelor afirmații? O clasa internă anonimă poate extinde o
singură clasă sau poate implementa o singură interfață. O clasă internă metodelor nu poate fi
abstractă.
A. Adevarat, Adevarat
B. Adevarat, Fals
C. Fals, Adevarat
D. Fals, Fals

84 Care afirmație despre LinkedHashSet din API-ul Java pentru colecții este adevarată?
A. nu există clasa LinkedHashSet
B. pastrează ordinea de inserare a elementelor și nu permite duplicate
C. pastrează perechi de forma (Key, Value) și permite duplicate
D. este o listă simplu înlănțuită unde fiecare element este o pereche (Key, Value)

85 Fie:
class A {
public int x = 0;
}

public A foo() {
A a = new A();
try {
a.x = 1;
throw new NullPointerException();
} catch (Exception e) {
a.x = 2;
return a;
} finally {
a.x = 3;
}
}
Ce se întâmplă la:
A a = foo();
System.out.println(a.x);
A. 1
B. 2
C. 3
D. excepție NullPointerException neprinsă, catch-ul prinde doar excepțiile checked

86 Observer Pattern si Singleton Pattern, din punct de vedere al clasificării Gang of Four, sunt:
A. Observer este un design pattern behavioural, iar Singleton este structural
B. Observer este un design pattern structural, iar Singleton este behavioural
C. Observer este un design pattern behavioural, iar Singleton este creational
D. ambele sunt structural

87 Care dintre urmatoarele afirmații sunt adevarate? 1. Metodele dintr-o interfață pot avea
specificatorii de acces public sau default 2. String și Integer sunt clase imutabile (immutable) 3.
Clasele abstracte nu pot fi instanțiate 4. Constructorii sunt folosiți pentru a inițializa un obiect nou
creat
A. 1, 2, 3
B. 2, 4
C. 3, 4
D. 2, 3, 4
88 Identificați afirmațiile corecte din următorul set:
A. O clasă imutabila nu permite existența de metode de tip “setter” publice (definite cu
identificatorul de acces public)
B. Spre deosebire de variabile și metode, clasele nu pot fi definite private.
C. Interfețele pot extinde alte interfețe.
D. După instantierea unui vector (de exemplu: new Object[10]), indiferent de tipul elementelor,
toate au valoarea null. - A,B,C + C - B,C - B, D

89 Care dintre următoarele metode suprascrie metoda : public void suprascrie (int a, String {}
A. public void suprascrie (String b, int a) {}
B. public String suprascrie (int a, String b) {}
C. public void suprascrie (int integer, String string) {}
D. public void suprascrie (int a, String b) throws IOExceptio
90 Ce se afișează la execuția următorului cod:
class MyClass{
private int id;

public MyClass(int id) {


this.id = id;
}

public int getId() {


return id;
}

@Override
public boolean equals(MyClass obj) {
return obj.id == id;
}

public static void main(String []args){


MyClass class1 = new MyClass(3);
MyClass class2 = new MyClass(new Integer(3));

if (class1.equals(class2))
System.out.println("Obiectele sunt egale");
else
System.out.println("Obiectele difera");
}
}
A. Se generează eroare de compilare la linia MyClass class2 = new MyClass(new Integer(3));
B. Se afișează “Obiectele sunt egale”
C. Se afișează “Obiectele diferă”
D. Se generează o altă eroare de compilare față de cea menționată la celalalta varianta de
răspuns
91 Care dintre următoarele afirmații nu definește încapsularea?
A. gruparea atributelor și operațiilor caracteristice unui obiect
B. modificarea stării interne a unui obiect strict prin intermediul operatiilor acestuia
C. posibilitatea implementării interfețelor
D. ascunderea modului de funcționare a unui obiect
92 Ce se afișează la execuția următorului cod:
class A {
private int x = 5;

private void hidden() {


System.out.println(x);
}

public void show_hidden() {


hidden();
}
}
class B extends A {
public int x = 10;

public void hidden() {


System.out.println(x);
}
}
public class Main {
public static void main(String[] args) {
B b = new B();
b.show_hidden();
}
}
A. eroare la compilare
B. 5
C. 10
D. 0

93 Fie următorul program:


class C {}

class D extends C {}

class A {
static void foo (C c) { … }
static void foo (D d) { … }
}
class B extends A {
static void foo (C c) { … }
static void foo (D d) { … }
}

…(in main)
A a = new B();
C c = new D();
Care metodă va fi apelată dacă se rulează a.foo©?
A. foo (C ) din A
B. foo (C ) din B
C. foo (D ) din A
D. foo (D ) din B

94 Ce se afișează la execuția următorului cod:


public class Main {
public static void main(String []args) {
B obj = new B();
System.out.println(obj.getValue());
}
}
class A {
public int x;

public A() {
x = 10;
}

public int getValue() {


return x;
}
}
class B extends A {
public int x;

public B() {
x = 20;
}
}
A. 10
B. 20
C. Se generează eroare la compilare
D. Niciuna din variantele de mai sus
95 Care afirmație este adevărată în contextul limbajului Java?
A. clasă poate implementa oricâte interfețe și poate moșteni oricâte clase (abstracte
sau concrete)
B. clasă poate implementa o singură interfață și poate moșteni oricâte clase (abstracte
sau concrete)
C. clasă poate implementa oricâte interfețe și poate moșteni o singură clasă (abstractă
sau concretă)
D. clasă poate implementa oricâte interfețe și poate moșteni oricâte clase abstracte și o
singură clasă concretă
96 Care variantă definește cel mai bine legătura între interfețe și clase?
A. atât clasele, cât și interfețele definesc modul în care un obiect execută o operație
B. interfețele precizează operațiile expuse de un obiect, în timp ce clasele modul în care acesta
le execută
C. nici clasele, nici interfețele nu precizează modul în care un obiect execută o operație
D. O clasă nu definește implicit interfața instanțelor sale

97 Ce va afișa următorul program:


class Outer {
static class Inner {
public static void main(String[] args){
System.out.print("1");
}
}
public static void main(String[] args) {
Outer.Inner.main(null);
System.out.print("2");
}
}
A. 12
B. eroare compilare, nu putem apela explicit main din Inner
C. 2
D. eroare compilare, nu putem avea metoda main intr-o clasa internă
98 Alegeți codul corect pentru instanțierea unei clase interne anonime de tipul Food (clasă abstractă
ce conține metoda public abstract String eat();)
A. Food f = new Food()
B. System.out.println(new Food(public String eat(){return “eat pizza”;}));
C. System.out.println(new Food{String eat(){return “eat pizza”;}});
D. System.out.println(new Food(){public String eat(){return “”;}});
99 Care afirmație despre clasele interne statice este adevărată?
A. trebuie să avem o referință la instanța clasei exterioare pentru a o putea instanția
B. din clasa internă statică nu avem acces la membrii non-statici ai clasei exterioare
C. variabilele și metodele ei trebuie să fie statice
D. O clasă internă statică nu poate avea specificatorul de acces private
100 Ce puteți spune despre următoarea funcție?
public String f() {
String s=”1”;
try {
throw new Exception();
} catch (Exception e) {
try {
try {
throw new Exception();
} catch (Exception e1) {
s += "2";
}
throw new Exception();
} catch (Exception e2) {
s += "3";
return s;
}
finally {
s += "5";
}
}
finally {
s += "6";
}
}
A. generează 1 eroare de compilare
B. generează 2 erori de compilare
C. la execuție întoarce 123
D. la execuție întoarce 12356

101 Ce va afișa următoarea secvență de cod?


public int f(int n) {
int s = 0;
for (int i =0; i < n; i++) {
s += f(1);
}
return s;
}
...
try {
System.out.println(f(2));
} catch (Throwable t) {
System.out.println("am prins ceva!");
}
A. 2
B. eroare de compilare, obiectele Throwable nu pot fi prinse
C. va intra într-o buclă infinită
D. am prins ceva!

102 Ce va afișa următoarea secvență de cod?


public class Main {
public static int f(int a, int b) {
try {
System.out.println(a/b);
} catch (Exception ex) {
return 1;
}
finally {
return 2;
}
}

public static void main(String []args) {


int result = f(10, 0);
System.out.println(result);
}
}
A. 1
B. 2
C. eroare la compilare
D. eroare la rulare, excepția generată nu poate fi prinsă

103 Pe câte linii există erori în următoarea secvență de cod?


List<Integer> l1 = new LinkedList<Integer>();
List<Number> l2 = new LinkedList<Integer>();
List<Integer> l3 = new LinkedList<int>();
List<Number> l4 = new List<Integer>();
A. 1
B. 2
C. 3
D. 4

104 Ce colecție ar fi cel mai bine de folosit dacă am vrea să menținem o serie de
configurări/proprietăți ale aplicatiei, citite dintr-un fișier de configurare. Alegeți în funcție de cat de
ușor e de lucrat cu colecția respectivă în cazul de față, al lizibiltății codului și eficiența d.p.d.v. al
timpului de acces.
A. ArrayList
B. HashSet
C. HashMap
D. LinkedHashSet
105 Care dintre afirmațiile următoare sunt adevărate in contextul limbajului Java?
1. Dacă a.equals(b) == false, atunci a.hashcode()==b.hashcode() este false.
2. Metoda equals trebuie implementată pentru a determina dacă două obiecte sunt egale.
3. Chiar dacă propriile obiecte nu suprascriu equals, ele pot fi folosite drept chei în obiecte de
tip Map, fără a avea vreun caz de funcționare incorectă.
4. HashSet nu permite duplicate și nu menține ordinea elementelor.
A. 1, 2, 3;
B. 1, 4;
C. 2, 3, 4;
D. 2, 4.

106 Care pattern implică ascunderea vizibilității contructorilor unei clase?


A. Singleton
B. Visitor
C. Observer
D. Command
107 Pe care dintre următoarele pattern-uri l-am folosi, dacă în aplicație avem foarte multe notificări
între componente?
A. Visitor
B. Command
C. Observer
D. Factory
108 Ce obținem la rularea următorului cod:
class A {
public static boolean val;
public A() { val = true; }
public static void print() {
System.out.println("First");
}
}

public class Main {


public static void main(String[] args) {
A a = null;
if (!a.val) a.print();
else System.out.println("Second");
}
}
A. NullPointerException
B. Second
C. Eroare de compilare
D. First

109 Ce afișează următorul cod:


class Shape {
public String type = " s ";
public Shape() { System.out.print("shape ");}
}

public class Rectangle extends Shape {


public Rectangle() { System.out.print("rectangle ");}
public static void main(String[] args) {
new Rectangle().go();
}

void go() {
type = "r ";
System.out.print(this.type + super.type);
}
}
A. rectangle r s
B. shape rectangle r r
C. rectangle r r
D. shape rectangle r s

110 Ce afișează următorul program?


class Main {
public static void main(String[] args) {
Boolean b = new Boolean(true);
if (b.equals(true)) {
System.out.println("1");
b = false;
if (b == new Boolean(false)) {
System.out.println("2");
}
}
}
}
A. 1
B. 12
C. Eroare la compilare
D. Nimic

111 Care variantă reprezintă suprascrierea corectă a metodei: protected int computeX(int a, float b)
{…}?
▪ int computeX(int a, float b) {…}
▪ public int computeX(int a, float b) {…}
▪ protected int computeX(Integer a, Float b) {…}
▪ protected Integer computeX(int a, float b) {…}
A. aceeși listă de argumente
B. același tip de return sau un subtip al acestuia
C. nu pot avea un modificator de acces mai restrictiv
D. pot arunca doar aceleași excepții, excepții derivate din acestea, sau excepții unchecked.

112 Ce afișează următorul cod (Student e o subclasă a Person, iar Person conține metoda getName)?
// intr-o metoda main
Person s = new Student("Alice");
Person p = new Person("Bob");
InfoManager m = new InfoManager();
System.out.println(m.printInfo(s) +"; " + m.printInfo(p));

// in clasa InfoManager
public String printInfo(Person p){
return "Person " + p.getName();
}

public String printInfo(Student s){


return "Student " + s.getName();
}
A. Person Bob; Student Alice
B. Person Alice; Person Bob
C. Student Alice; Student Bob
D. Student Alice; Person Bob

113 Ce se afișează?
class A {
int x;
public A() { init(0); }
protected void init(int x) { this.x = x; }
}

class B extends A {
public B() { init (super.x + 1); }
public void init(int x) { this.x = x + 1; }
}

public class Test {


public static void main(String[] args) {
A a = new B();
System.out.println(a.x);
}
}
A. 0
B. 2
C. 3
D. 1
114 Care afirmații sunt corecte? (Ci denotă clase, Ii denotă interfețe)
A) C1 extends I1; B) I1 extends I2, I3; C) I1 implements I2; D) C1 implements I1,I2; E) C1 extends C2,
C3.
A. A, B, C, E
B. C, E
C. B, D, E
D. B, D

115 Fie:
interface ITest {
protected int x = 10;
int y;
int z = 20;
abstract void foo();
final int f(int x);
}
Care linii din corpul interfeței (numerotate de la 1 la 5) sunt corecte?
A. 1,3,5
B. 3,4
C. 1,2,3
D. 4

116 Cu ce poate fi înlocuită linia (xxx) pentru a obține o instanță a B?


class A {
class B {}
}

// in main
A a = new A();
(xxx)
A. B b = new B();
B. A.B b = new B();
C. A.B b = new A().new B();
D. A.B b = new a.B();

117 Fie interfața Runnable cu singura metodă public void run(). Clasa Thread are un constructor ce
primește un Runnable ca parametru și expune o metodă public void start(). Ce concluzie trageți de la
următorul cod?
new Thread(new Runnable() {
public void run() {
while(true) {
System.out.println("Nyan cat!");
}
}
} ).start();
A. eroare de compilare, public void run() nu poate fi implementat “pe loc”
B. compilează și rulează fără probleme
C. eroare de compilare, new Runnable() este incorect sintactic, Runnable este o interfață
D. eroare de compilare, new Thread(…).start() este incorect sintactic

118 Ce cuvânt cheie introdus la (xxx) va permite compilarea programului:


abstract class A {
int x;
abstract void set();
}

public class Test {


public static void main(String args[]) {
(xxx) int num = 30;
A a = new A() {
public void set() {
x = num;
}
};
}
}
A. public
B. Nu este necesar niciun cuvânt cheie în plus pentru a permite compilarea corectă a
programului.
C. final
D. static

119 Dacă dorim să stocăm un șir de elemente fără duplicate într-o colecție fără să ne intereseze
ordinea elementelor sau sortarea lor, clasa cea mai potrivită este
A. Vector
B. HashMap
C. HashSet
D. TreeMap

120 Ce se întâmplă la rularea următorului cod:


String[] strings = {"hello", "world"};
Object[] objects = strings; // linia 2
List<?> list = new ArrayList<Object>(); // linia 3
for (Object obj : objects) {
System.out.println(obj);
list.add(obj); // linia 6
}
A. eroare de compilare la linia 6
B. afișează “hello” și “world” pe linii diferite
C. eroare de compilare la linia 2
D. eroare de compilare la linia 3

121 Care dintre următoarele variante este corectă (compilează)?


A. ArrayList <Person>mylist = new ArrayList<Student>();
B. List <Person>mylist = new ArrayList<Student>();
C. List <Student>mylist = new ArrayList<Student>();
D. ArrayList<Student>mylist = new ArrayList<Person>();

122 Despre excepțiile unchecked:


A. clasele lor nu pot fi extinse
B. pot să nu fie declarate în clauzele throws ale metodelor și pot să nu fie prinse
C. trebuie declarate în clauza throws a metodelor care le pot arunca
D. pot declarate în clauza throws a oricarei metode, dar nu pot fi prinse

123 Se consideră codul


class A {
public int x = 0;
}

public A foo() {
A a = new A();
try { a.x = 1;
throw new NullPointerException();
} catch (Exception e) {
a.x = 2;
return a;
} finally { a.x = 3; }
}
Ce se întâmplă la:
A a = foo();
System.out.println(a.x);
A. 2
B. excepție NullPointerException neprinsă, catch-ul prinde doar excepțiile checked
C. 1
D. 3

124 Vrem să implementăm un framework de user interface. Cu ce design pattern am putea modela
comportamentul de onClick → doSomething pentru un element de tip buton oarecare?
A. Visitor
B. Singleton
C. Factory
D. Observer

125 Care cuvânt dintre următoarele este rezervat în Java?


A. method
B. unsigned
C. native
D. array

126 Fie următorul test JUnit funcțional. Ce se va afișa în urma execuției lui?
public class Test {
@Before
public void before() { System.out.print("before:");}

@Test
public void test1() { System.out.print("test1:");}

@After
public void after() { System.out.print("after:");}

@Test
public void test2() { System.out.print("test2:");}
}
A. before:test1:test2:after:
B. test1:test2:
C. before:test1:before:test2:
D. before:test1:after:before:test2:after:

127 Fie următoarea declaraţie Java:


public private int h;
Care afirmaţii sunt adevărate:
A. Variabila h va fi accesată ı̂n mod public, deoarece se ia ı̂n considerare primul
modificator de acces;
B. Variabila h va fi accesată ı̂n mod private, deoarece se ia ı̂n considerare ultimul
modificator de acces;
C. Va fi eroare la compilare deoarece o variabilă nu poate fi ˆ
ın
acelaşi timp accesată public şi private;
D. Nici una din variantele de mai sus;

128 Fie următorul cod Java:

int x=0;
if (Double.isInfinite(2/x))
System.out.println("Infinit
");
else
System.out.println("2/0");

Ce puteţi spune despre acest cod, daca este integrat ı̂n cadrul unui program Java?
A. Va produce eroare la compilare din cauza ı̂mparţirii la 0;
B. Va produce eroare la execuţie din cauza ˆımpărţirii la 0 (se aruncă o
excepţie:
”ArithmeticExpetion”);
C. Codul este corect şi va afişa
Infinit;
D. Codul este corect şi va afişa
NaN;

129 Fie următorul program Java:

public class
Program{ static
void f(int k){
switch(k){
default: System.out.print("i "); break;
case 1: System.out.print("1 "); break;
case 2: case 3: System.out.print("23 "); break;
case 4: case 5: System.out.print("45 ");
}
}
public static void main(String []args){
for(int i=0;i<6;i++)
f(i);
}
}
Care afirmaţii sunt adevarate?
A. Programul produce eroare la compilare;
B. Programul se compilează şi la execuţie afişează
i 1 23 23 45 45 ;
C. Programul se compilează şi la execuţie afişează
i 1 23 45 ;
D. Programul se compilează şi la execuţie afişează
i 1 23 23 45 45 i;

130 Fie următorul cod Java:

byte b=-7 >>> 1;


System.out.println(b
);

Ce se poate spune despre acest cod, daca este integrat intr-un program Java?
A. Va produce eroare la compilare;
B. Va produce eroare la execuţie;
C. Programul se compilează şi la execuţie
afişează -3; D. Programul se compilează şi la
execuţie afişează -4;

131 Ce puteţi afirma despre următorul program Java?

public class Static1{


public static void main(String
[]args){ Static2 a=new Static2();
Static2 b=new Static2();
System.out.print("a.x= "+
a.x); a.x=100; b.x=200;
System.out.print("a.x=
"+a.x);
}
}
class Static2{
static int
x=0; Static2()
{
x++;
};
}

A. Afişează:
a.x=2 a.x=200;
B. Afişeaza:
a.x=0 a.x=100;
C. Afişeaza:
a.x=1 a.x=100;
D. Programul nu este corect deoarece asignarea lui x, conform obiectului b, este
ilegală ı̂n
Java;

132 Ce se va afişa la execuţia următorului program Java?

interface I1{
float x=2.3f;
}
public class Test implements I1{
public static void main(String []
args){ System.out.print(x+" ");
x=6.7f;
System.out.print(x
);
}
}

A. Va apărea eroare la compilare deoarece valoarea variabilei x nu se


mai poate modifica;
B. La execuţie se va afişa:
2.3f 6.7f;
C. La execuţie se va afişa:
2.3f 2.3f;
D. La execuţie se va afişa:
2.3 6.7;

133 Ce puteţi spune despre următorul program Java?


class C1{
int x=1;
void f(int x){
this.x=x;
}
int getX_C1(){
return x;
}
}
class C2 extends C1{
float x=5.0f;
int f(int x){
super.f((int)x)
;
}
float getX_C2(){
return x;
}
}
public class Subiect9{
public static void main(String
[]args){ C2 obiect = new C2();
obiect.f(4);
System.out.print(obiect.getX_C2() + "
");
System.out.println(obiect.getX_C1());
}
}
A. Programul este corect şi va afişa la execuţie 5
4; B. Programul este corect şi va afişa la execuţie
4.0 4;
C. Va apărea eroare la compilare deoarece ı̂n clasa C2 s-a suprascris greşit
atributul x din clasa C1;
D. Va apărea eroare la compilare deoarece metoda suprascrisă f() din
clasa C2
ı̂ntoarce un tip diferit de void;

134 Ce puteţi spune despre următorul program Java?

public class Test{


public static void main(String
[]args){ C1 obiect =new C1();
obiect.f(4,3);
}
}
class C1{
public void f(int xx, final int yy){
int a=xx+yy;
final int b=xx-yy;
class C2{
public void g(){
System.out.print("a= "+a);
System.out.print(", b=
"+b);
}
}
C2 obiect2 = new C2();
obiect2.g();
}
}

A. Programul este corect şi va afişa la execuţie a=4, b=3;


B. Va apărea eroare la compilare, deoarece clasa C2 nu poate fi definită ı̂n
metoda f() din clasa C1;
C. Va apărea eroare la compilare deoarece ˆ ın metoda g() nu putem
accesa vari- abila locală a din metoda f();
D. Va apărea eroare la compilare deoarece nu se creează ı̂n clasa Test un obiect de
tip C1.C2;
135 Un fir de execuţie poate intra ı̂n starea ”blocat” (blocked) astfel?
A. Prin apelul metodei sleep();
B. Automat de către sistemul de
operare;
C. Prin apelul metodei block();
D. Prin apelul metodei wait();

136 Care dintre următoarele propoziţii referitoare la metodele unui applet sunt adevărate?
A. Trebuie sa redefinim măcar o metodă altfel obţinem eroare la compilare;
B. Sunt apelate automat de navigatorul
Web;
C. Pot fi apelate direct de către
utilizator;
D. Nu se pot declara noi metode;

137 Care dintre gestionarii de poziţionare (Layout Managers) de mai jos pot fi utilizaţi
pentru applet- uri?
A. GridBagLayout;
B. TableLayout;
C. DefaultLayout;
D. FlowLayout;

138 Ce metode trebuie definite pentru a putea desena pe suprafaţa applet-ului?


A. Nu trebuie definită nici o
metodă;
B. update();
C. paint();
D. repaint();

139 Care sunt deosebirile dintre Swing şi AWT?


A. Componentele Swing sunt scrise ˆ
ın totalitate ˆ
ın Java, pe cand ˆ
ın
AWT, com- ponentele sunt scrise folosind cod nativ;
B. Componentele AWT au vizualizarea dependentă de sistemul de
operare, iar
ın Swing componentele pot avea o aceeaşi vizualizare, indiferent de
ˆ
sistemul de operare;
C. În sistemele de operare Unix componentele AWT nu sunt vizibile, pe când cele
din Swing da;
D. Fiecare component AWT are o componentă corespondentă ı̂n Swing;
140 Care din fragmentele de cod Java de mai jos daugă un buton unui container de baza
JFrame?
A. JFrame f= new JFrame();
JPanel p = (JPanel)f.getContentPane();
p.add(new JButton("Buton")) ;
B. JFrame f= new JFrame();
f.getContentPane().add(new JButton("Buton"));
C. JFrame f= new JFrame();
f. add(new JButton("Buton"));
D. JFrame f=new JFrame();
JButton b=new JButton("Buton");
f.add(b);

141 . Fie urmatoarea secvenţă


de cod:

JPanel p =new JPanel();


Jlabel e = new
JLabel("Eticheta:");
e.setDisplayedMnemonic(’E’);
p.add(e, BorderLayout.EAST);
JTextField t = new JTextField(7);
e.setLabelFor(t);
p.add(t, BorderLayout.WEST);
Ce se va ı̂ntampla la apăsarea combinaţiei de taste: Alt + E?
A. Eticheta e va deţine focusul;
B. Câmpul t va deţine focusul;
C. Nici o component nu va deţine focusul;
D. Panoul p va deţine focusul;

142 Care dintre următoarele afirmaţii referitoare la componenta grafică JTable sunt
adevărate?
A. Întotdeauna o componentă JTable are asociată un model de date,
chiar dacă nu specificăm explicit acest lucru;
B. Prin modificările efectuate asupra datelor unui model, se va actualiza
automat
şi vizualizarea
tabelului;
C. Pentru a crea o tabelă folosind modelul AbstractModelTable, este ı̂ndeajuns să
suprascriem metodele getRowCount() si getColumnCount();
D. Modelul de date AbstractTableModel ţine datele ı̂ntotdeauna ı̂ntr-un Vector
avand ele- mente Vector;
143 JDesktopPane este un exemplu de:
A. Container pentru
JInternalFrame ;
B. Subclasă pentru JLayeredPane ;
C. Subclasă pentru
JInternalFrame ;
D. Componentă atomică
simplă;

144 Fie următorul program


Java:

public class Afisare {


public static void main (String[]
args) { for (int i = 0; i <
args.length; i++)
System.out.println(args[i]);
}
}
Un apel de genul java Afisare ”Hello Java”; va produce următorul rezultat:
A. Hello Java;
B. Hello
Java;
C. Programul este incorect, deoarece nu sunt prezente
argumentele; D. NaN;

145 Fie următorul program


Java:

public class
Program{ static
void f(int k){
switch(k){
default: System.out.print("i "); break;
case 1: System.out.print("1 "); break;
case 2: case 3: System.out.print("21 "); break;
case 4: case 5: System.out.print("26 ");
}
}
public static void main(String []args){
for(int i=0;i<6;i++)
f(i);
}
}

Care afirmaţii sunt false?


A. Eroare la compilare;
B. Programul se compilează şi la execuţie afişează
i 1 21 21 26 26
;
C. Programul se compilează şi la execuţie afişează
i 1 21 26 ;
D. Programul se compilează şi la execuţie afişează
i 1 21 21 26 26
i;

146 Se utilizează protected ı̂n Java pentru date şi metode la care nu este
necesar:
A. Să facem o iniţializare;
B. Să le accesăm ı̂n subclase;
C. Ca utilizatorul sa aibă acces;
D. Accesul direct atunci când clasa este utilizată dar care prezintă
interes atunci când cineva creează o subclasă a acesteia ca parte a
unui pachet diferit, ı̂n vederea extinderii ei;

147 O subclasă a unei clase abstracte poate fi instanţiat numai dacă:


A. Se foloseşte cuvântul cheie abstract ;
B. Suprascrie fiecare metodă declarată abstractă ˆ
ın superclasa sa, şi
furnizează implementări pentru toate acestea;
C. Se foloseşte moştenirea multipla;
D. O subclasă abstractă nu poate fi instanţiata;

148 Prin modalitatea sa de tratare a excepţiilor, Java are următoarele avantaje faţă de
mecanismul tradiţional de tratare a erorilor:
A. Există o metodă care se ocupă cu acest lucru;
B. Separarea codului pentru tratarea unei erori de codul ˆ
ın care ea
poate să apară;
C. Propagarea unei erori până la un analizor de excepţii
corespunzător;
D. Gruparea erorilor după tipul lor;

149 . Metodele care sunt apelate uzual pentru un obiect de tip excepţie sunt definite ı̂n
clasa Throwable
şi sunt:
A. Declarate cu modificatorul de acces
private ; B. dinamice;
C. publice;
D. excepţii;

150 Un fir de execuţie poate intra ı̂n starea de ready


astfel:
A. Prin apelul metodei sleep();
B. Automat de către sistemul de
operare;
C. Prin apelul metodei join();
D. Niciodată; // nu stiu. cred ca niciodata... nu am gasit „ready” state in threads.

151 Când browser-ul ı̂ntalneşte tag-ul < AP P LET >, rezervă o zonă pentru afişare cu
dimensiunile specificate de paramterii WIDTH, HEIGHT şi:
A. Se instalează un manager de securitate, adică un obiect de tip
SecurityManager care va monitoriza activitatea metodelor appletului,
aruncând excepţii de tip SecurityException ;
B. Încarc codul compilat al applet-ului cu numele specificat de parametrul CODE ;
C. Crează o instanţă a clasei Applet după care apelează metodele init()
şi start();
D. Se deschid mai multe procese pe maşina client;

152 Care dintre următoarele coduri nu reprezintă arhivarea fişierelor unui applet?
A. jar cvf arhiva.jar ClasaPrincipala.java imagine.jpg;
B. jar cvf arhiva.jar *.class *.jpg *.au;
C. jar cfv arhiva.jar *.class *.jpg *.au;
D. jar cvf arhiva.jar ClasaPrincipala.class AltaClasa.class imagine.jpg sunet.au

153 În care din exemplele de mai jos se foloseşte corect variabila iLocation ?
A. tabbedPanel.insertTab( "Inserted Page", new ImageIcon(
"image.gif" ), pagePanel,"My tooltip text",iLocation );
B. JFrame f= new JFrame();
f.getContentPane().add(new JButton("Buton", iLocation));
C. tabbedPanel.removeTabAt( iLocation );
D. JFrame f=new JFrame();
JButton b=new JButton("Buton");
f.add(b,
iLocation);
154 Ce rezultă din următorul fragment de cod Java?

int x=1;
String []names={"Fred","Jim","Sheila"};
names[--x]+=".";
for(int
i=0;i<names.length;i++)
System.out.println(names
[i]);

A. Output-ul include
Sheila.;
B. Output-ul include
Fred.;
C. Output-ul include Jim.;
D. Nimic din cele de mai sus;

155 Applet-urile se diferenţiază de aplicaţiile Java standard prin:


A. Restricţiile impuse de necesitatea asigurării unui anumit nivel de
securitate
şi faptul că nu au o metodă main();
B. Faptul că trebuie să suprascrie toate metodele: init(), start(), stop(), pause() şi
destroy();
C. Faptul că deţin un instrument cu ajutorul căruia se crează relaţii de
moştenire;
D. Faptul că deţin un instrument care desemneaza meniurile din cadrul unei
forme;

156 Declararea constructorilor trebuie să ţină


cont de: A. relaţia de moştenire dintre
clase;
B. numele constructorului, care trebuie să fie identic cu numele clasei;
C. comportamentul obiectelor pe care le instanţiaza;
D. o metoda prin care poate fi accesat de toate tipurile din Java sau de tipuri
mostenite din tipul care contine membrul in discutie;

157 Urmatorul cod sursa :


class ClasaMea{
public static void main(String argumente[]) {} }
produce:
clasa numita “ClasaMea”
A. o clasa numita “ClasaMea”
B. eroare deoarece trebuie sa existe cel putin o instructiune in metoda main()
C. eroare deoarece cuvantul cheie “static” se foloseste doar pentru variabile
D. un applet numit “ClasaMea”

158 Care dintre variabilele de mai jos:


I. String a=”Nume”;
II. int _numar=700;
III. Point Punct=new Point();
IV. Point $punct=new Point();
V. double 2numar=5;
VI. double _3numar;
sunt definite corect:
A. toate
B. nici una
C. toate, exceptand numarul V
D. toate, exceptand numarul IV

159 Analizand urmatorul cod sursa:


Point pt1,pt2;
pt1=new Point(100,100);
pt2=pt1;
pt1.x=200;
pt1.y=200;
System.out.print (pt1.x+”, “+pt1.y+” *** “);
System.out.println (pt2.x+”, “+pt2.y);
putem spune ca acesta va afisa:
A. 200 , 200 *** 200 , 200
B. 200 ,100 *** 200 , 100
C. 100 , 100 *** 100 , 100
D. 200 , 200 *** 100 , 100

160 Despre linia de cod de mai jos:


int[] temp=new int[99];
se poate spune:
A. creaza un tablou de numere intregi , tablou cu toate pozitiile sale initializate automat cu 0
B. creaza un tablou de numere intregi , tablou cu fiecare element initializat cu 99
C. nu creaza nimic , operatorul “new” nu se poate folosi impreuna cu un tip primitiv
D. creaza un tablou de obiecte initializate cu null , datorita folosirii operatorului “new”

161 Analizand urmatorul cod sursa :


class MembruFamilie {
static String numeFamilie=”Gheorghe”;
String prenume;
int varsta; }
se poate spune:
A. este eronat sintactic, lipseste metoda main()
B. variabila “numeFamilie” este o variabila locala
C. variabila “prenume” este o variabila de clasa
D. variabila “numeFamilie” este o variabila de clasa

162 Liniile de cod de mai jos:


String[] vorbitor=new String[10];
vorbitor[10] =”Text introdus”;
au ca efect:
A. crearea unui tablou de obiecte String initializate fiecare cu “10”
B. producerea unei erori datorita plasarii incorecte a parantezelor patrate in “String[]”
C. crearea unui tablou de 10 obiecte String si asignarea sirului “Text introdus” in ultimul
element al tabloului
D. producerea unei erori datorita adresarii “vorbitor[10]”

163 Despre cele doua instructiuni de mai jos care folosesc o variabila de tip String numita
“numeleMeu”:
numeleMeu +=” Jr.”;
numeleMeu=numeleMeu + “ Jr.”;
se poate spune ca:
A. sunt corecte si echivalente
B. sunt corecte si produc rezultate diferite
C. sunt incorecte , operatorul “+” neputand fi folosit in acest fel
D. sunt incorecte , in cazul sirurilor neputand fi folosit operatorul “+=”

164 O variabila globala este:


A. inexistenta in Java, rolul ei poate fi preluat de alte tipuri de variabile
B. variabila folosita in interiorul unei metode
C. folosita pentru a defini atributele unui obiect
D. totdeauna precedata de cuvantul cheie “static”

165 O variabila de instanta care stocheaza un obiect va fi initializata automat in Java:


A. cu 0
B. cu “\0”
C. cu false
D. cu null

166 10. Urmatorul cod sursa:


String[] tablou=new String[3];
for(int i=0;i<tablou.length;i++)
System.out.println(tablou[i]);
produce:
A. o eroare , obiectele trebuie initializate explicit inainte de a fi afisate
B. afisarea pe trei linii a cuvantului “null” pt ca nu i s-au dat valori s-a initializat cu null pt
fiecare rand
C. eroare , cuvantul cheie “length” trebuie urmat de paranteze rotunde
D. afisarea pe trei linii a cifrei 3
167 Suprascrierea metodelor inseamna:
A. Crearea de metode cu diferite semnaturi si definitii insa cu acelasi nume
B. Crearea de metode care permit initializarea obiectelor, pentru a le defini starea initiala din
mometul crearii lor
C. Crearea unei definitii diferite pentru o metoda care a mai fost definita in superclasa
D. Crearea de metode care elibereaza resursele ocupate de un obiect dupa terminarea lucrului
cu acesta, inainte ca acesta sa fie inlaturat din sistem

168 Crearea unui obiect se poate face cu ajutorul instructiunii ,,new’’


A. Doar daca ma intai definim un constructor al clasei
B. Chiar fara a se defini explicit un constructor de clasa
C. Definind obligatoriu un constructo pentru tipurile utilizator
D. Da apoi trebuie realizat un apel explicit al constructorului clasei

169 Despre metodele constructor se paote afrima ca:


A. Nu pot fi definite de programator
B. Au totdeauna acelasi nume cu clasa si trebuie definite explicit de programator
C. Au totdeauna acelasi nume cu clasa si nu pot fi supraincarcate
D. Au totdeauna acealsi nume cu clasa si pot fi supraincarcate

170 Applet-urile pot fi rulate:


A. Cu ajutorul utilitarului java.exe
B. Cu ajutorul unui browser
C. Cu ajutorul unui program java care sa realizeze unu apel catre metoda applet
D. Cu ajutorul metodei paint

171 Un program java poate actiona:


A. Numai ca applet sau numai ca aplicatie independenta
B. Ca aplicatie independenta sau ca applet, depinzand de context
C. Ca aplicatie sau ca applet doar dupa o recompilare a clasei pentru unul dintre cazuri
D. Si ca applet si ca aplicatie independenta fara nici o restrictie

172 In cazul unu applet clasele acestuia trebuie sa fie declarate publice:
A. totdeauna
B. depinde de programator
C. nu, ele trebuie declarate private
D. doar clasa principala a applet-ului

173 Introducerea unui applet intr-o pagina web se face:


A. cu ajutorul unui tag HTML
B. prin programarea clasei ca fiind un applet
C. cu ajutorul unui browser
D. prin apelarea metodei
174 Pentru preluarea argumentelor intr-un applet se utilizeaza o instructiune:
A. param=”nume parametru din fisierul HTML”
B. get arg()
C. getParameter()
D. string argument="nume parametru din fisierul HTML

175 Crearea stilului unei linii ce urmeaza sa fie desenate poate fi reaizata cu ajutorul unui obiect:
A. Basic Shape
B. Set Stroke
C. Set Shape
D. Basic Stroke

176 Metoda "draw String" este folosita pentru a afisa siruri:


A. in JAVA2D
B. in JAVA standard
C. In JAVA standard si in JAVA2D
D. nicaieri, metoda corecta este "drawText"

177 Folosirea fisierelor grafice in JAVA se face cu ajutorul clasei:


A. image
B. applet
C. paint
D. draw

178 Incarcarea unui fisier audrio intr`un obiect Java se face cu metoda:
A. new AudioFile()
B. get SoundFile()
C. get AudioClip(), dar doar in cadrul unui applet
D. nu se poate face

179 Linia de cod "TextField(argument)" creaza un camp de text:


A. cu latimea specificata ca argument sau direct completat cu argumentul, in functie de tipul
acestuia
B. cu latimea specificata ca argument
C. completat direct cu argumetul dat
D. cu latimea specificata ca argument sau direct completat cu argumentul in cazul in care
acesta nu este un tip numeric

180 Administratorul de dispunere BorderLayout realizeaza:


A. dispunerea componentelor interfetei pe marginile containerului
B. impartirea containerului in cinci zone distincte
C. dispunerea componentelor interfetei in centrul containerului, creand totodata si alte patru
panouri pe lateralele containerului
D. nu exista
181 Constrangerile sunt folosite pentru managementul administratolului de dispunere:
A. GridBagLayout
B. GridLayout
C. CardLayout
D. BorderLayout

182 Metoda de tratare a evenimentelor "mouseDown" returneaza:


A. valoare booleana
B. valoare intreaga
C. nimic, ea avand tipul de retur void
D. metoda nu exista, corect ar fi metoda "mouseClick"
183 Metodele de tratare a evenomentelor sunt apelate implicit de metoda generica:
A. handleEvt()
B. setEvent()
C. handleEvent()
D. setHandleEvent()

184 Codul sursa de mai jos:


int x,,y,z; x=20; y=++x; z=x++; are ca efect urmatoarele valori ale variabilelor:
A. X= 20 Y=21 Z=21
B. X= 21 Y=21 Z=22
C. X= 22 Y=21 Z=22
D. X= 22 Y=21 Z=21

185 Avand urmatoarele instructiuni:


String str1 str2
str1="Test de egalitate intre siruri"
str2="Test de egalitate intre siruri"
System out println("acelasi obiect?"+(str1=str2));
ce va avisa programul din care acestea fac parte:
A. nimic deorece "str1" si "str2" sunt obiecte de clasa String si trebuie folosit peratorul"new"
pentru a crea un obiect.
B. Acelasi obiect? false
C. nimic deoarece operatorul "==" ar trebui inlocuit cu "equals"
D. Acelasi obiect? true

186 Urmatorul cod sursa:


String[] tablou=new String[3]
for (m i=o;i<tablou.length;i++)
System.out.println(tablou[i]);
produce:
A. eroare, obiectele trebuie initializate explicit inainte de a fi afisate
B. afisarea pe trei linii a cifrei 3
C. eroare, cuvantul cheie "length" trebuie urmat de paranteze rotunde
D. afisarea pe trei linii a cuvantului "null"
187 Urmatorul program:
Class Clasa Mea {
public static void main(String args[]) {
int nota=10;
switch(nota) {
case 10: System.out.prinln(“Foarte bine”);
case 8: System.out.println(“Bine”);
case 5: System.out.print(“4 – ai cazut”);
}}}
realizeza:
A. eroare, deoarece instructiunea “switch” nu e correct folosita
B. afiseaza patru linii de text
C. afiseaza “4 – ai cazut”
D. afiseaza “Foarte bine”

ATENTIE!!!! La 187 e ceva gresit. Ori nu este completa intrebarea+codul, ori lipseste o varianta de
raspuns. (A C SAU D nu sunt raspunsuri corecte) B -ul se aproprie cel mai mult de „varianta corecta”
+ printul de la case10 e scris gresit „prinln”
188 Metodele cu acelasi nume se diferentiaza intre ele prin:
A. tipul valorii returnate
B. numele variabilelor folosite ca argument si numarul de argument
C. numarul argumentelor pe care le preiau si tipul argumentelor
D. nu pot exista metode cu exact acelasi nume

189 Despre metodele constructor de poate afirma :


A. pot avea nume diferit de al clasei doar daca sunt definite explicit ca metode constructor
B. trebuie totdeauna definite explicit
C. au intotdeauna acelasi nume cu al clasei si nu returneaza nimic
D. au acelasi nume cu al clasei, nu returneaza nimic si nu sunt definibile explicit de programator

190 Pentru a apela metoda originala in cadrul metodei de suprascriere folosim cuvantul cheie :
A. up
B. this
C. parent
D. super

191 Pentru a furniza argumente unui applet se foloseste :


A. introducerea acestora de la linia de comanda
B. alta clasa JAVA
C. un tag HTML
D. se utilizeaza instructiunea “code” sau “codebase”

192 Despre metoda “drawLine()” se poate afirma:


A. ajuta la desenarea liniilor
B. este o metoda a clasei Graphics si ajuta la desenarea liniilor
C. este o metoda a clasei Graphics2D si ajuta la desenarea liniilor
D. este o metoda a clasei Applet si ajuta la desenarea liniilor

193 Care dintre variabilele de mai jos:


I. String a=”Nume”;
II. int _numar=700;
III. Point Punct=new Point();
IV. Point Spunct=new Point();
V. double 2numar=5;
VI. double _3numar;
sunt definite correct:
A. toate
B. nici una
C. toate, exceptand numarul V
D. toate, exceptand numarul IV

194 Instructiunea
“ecran.drawRoundRect(182,61,43,24,10,8)” realizeaza:
A. desenarea unui tip de triunghi
B. desenarea unui patrat
C. desenarea unui tip de triunghi ignorand ultimii doi parametri
D. nici o variantă corectă

195 In linia de cod “public class CeasDigital extends java.applet.Applet implements Runnable”,
elementul “Runnable”este:
A. o interfata
B. o clasa
C. o variabilă
D. un applet

196 Pentru a putea controla un fisier audio un JAVA folosim :


A. nu putem utiliza sunet in format de fisiere audio in JAVA
B. un obiect “AudioClip”
C. un obiect “Audio”
D. un obiect “SoundFile

197 Supraincarcarea metodelor inseamna :


A. crearea de metode cu diferite semnaturi si definitii insa cu acelasi nume
B. crearea de metode care permit initializarea obiectelor, pentru a le defini starea initiala din
momentul crearii lor
C. crearea de metode care elibereaza resursele ocupate de un obiect dupa terminarea lucrului
cu acesta, inainte ca acesta sa fie inlaturat din sistem
D. crearea unei definitii diferite pentru o metoda care a mai fost definita in superclasa
198 Un applet JAVA trebuie sa contina o metoda “main” apelata la lansarea aplicatiei :
A. nu poseda o metoda “main”
B. in cazul in care nu exista metoda “init” in cadrul applet-ului
C. doar in cazul in care nu poseda metoda “paint”
D. nu poseda o metoda “main” folosind in schimb obligatoriu metoda “start”

199 Pentru a verifica spatiul liber lasat in jurul unui panou se foloseste :
A. getlpadx() si getlpady(), pentru spatiul pe orizontala si respectiv verticala
B. setipadx() si setlpady(),pentru spatiul pe orizontala si respectiv verticala
C. setlnsets()
D. getlnsets()

200 Liniile de cod de mai jos :


String[] vorbitor=new String[10] ;
Vorbitor[10]= “Text introdus”;
au ca efect:
A. crearea unui tablou de obiecte String initializate fiecare cu “10”
B. producerea unei erori datorita plasarii incorecte a parantezelor patrate in “String[]”
C. crearea unui tablou de 10 obiecte String si asignarea sirului “Text introdus” in ultimul
element al tabloului
D. producerea unei erori datorita adresarii “vorbitor[10]”

S-ar putea să vă placă și