Subiecte Java - licenta septembrie 2002

1. Care vor fi valorile variabilelor a, b si c dupa executia secventei de mai jos ?

int a = 0, b = 1, c = (++a >= b-- ? a++ : ++b);

  1. a=2, b=1, c=1
  2. a=1, b=0, c=1
  3. a=2, b=1, c=0
  4. a=2, b=0, c=1

2. Care va fi valoarea variabilei tip dupa executia secventei alaturate ?

  1. 'litera'
  2. 'cifra'
  3. 'altceva'
  4. 'nimic'

int c = (int)'b'; String tip = "nimic";

switch (c)

{

case 'a'-'z': tip = "litera";

case '0'-'9': tip = "cifra"; break;

default : tip = "altceva";

}

3. Ce se va īntāmpla la executia secventei alaturate ?

  1. Se va afisa: test=2 infinit=NaN
  2. Se va afisa: test=2 infinit=0
  3. Se va afisa: test=1 infinit=0
  4. Nu se va afisa nimic, programul se va opri cu exceptie

int test = 0, infinit=0;

try {

infinit=1/0;

test ++;

}

catch(Exception e) { test ++; }

finally { test ++; }

System.out.println("test=" +

test + " infinit=" + infinit);

4. Ce va afisa la executie aplicatia CtorDemo?

  1. 1
  2. 2
  3. 3
  4. Nu va afisa nimic deoarece codul este incorect

class A {

int a=1;

A() { a=2;}

}

class B extends A {

int b=3;

B() { b=a;}

}

public class CtorDemo {

public static void main(String args[]) {

B bobj = new B();

System.out.println(bobj.b);

}

}

5. In ce conditii putem apela o metoda de sortare polimorfica unei colectii formata din obiecte de acelasi tip ?

  1. Metoda de sortare primeste un argument de tip Comparator
  2. Este suficienta supradefinirea metodei hashCode in clasa care descrie obiectele
  3. Clasa care descrie obiectele implementeaza interfata Comparable si metoda compareTo
  4. Apelul este posibil in orice situatie, fiind apelata metoda implicita equals a clasei Object

6. Sa consideram declaratiile alaturate.

Care dintre urmatoarele variante nu este corecta ?

  1. Declaratia lui aref
  2. Declaratia lui i
  3. Declaratia lui j
  4. Apelul metodei g

class A {

static int x=37;

transient int y=47;

static void f() {

A aref = this;

int i=x;

int j=y;

g();

}

void g() { }

}

7. Sa consideram declaratiile alaturate de clase si interfete.

Care din acestea nu este corecta ?

  1. Test t = new Test();
  2. TestImpl t = new AbstractImpl();
  3. AbstractImpl t = new Test();
  4. AbstractImpl t = new TestImpl();

interface Test {}

abstract class AbstractImpl implements Test {}

class TestImpl extends AbstractImpl {}

8. Ce se va afisa la executia urmatoarei secvente de cod:

RuntimeException a = new RuntimeException();

System.out.println(a.getClass().getSuperclass().getSuperclass());

  1. class java.lang.Exception
  2. class java.lang.Error
  3. class java.lang.Throwable
  4. class java.lang.Object

9. Ce puteti spune despre aplicatia TestImpl?

  1. Va afisa la executie mesajul "Hello"
  2. Va afisa la executie mesajul "Salut"
  3. Se va opri cu o exceptie de tipul NullPointerException
  4. Nu va fi compilata

public class TestImpl {

public static void main(String args[]) {

HelloImpl h1= new HelloImpl(), h2=h1;

h1.message = "Salut";

System.out.println(h2.sayHello());

}

}

interface Hello {

String sayHello();

}

class HelloImpl implements Hello{

static String message = "Hello";

String sayHello() { return message; }

}

10. Ce īntelegeti prin serializare ?

  1. Scrierea unui obiect īntr-un fisier de unde sa poata fi refacut ulterior
  2. Transformarea unui obiect īntr-un flux de octeti
  3. Adaugarea unui numar serial unui obiect pentru a putea fi deosebit de obiecte ale aceleiasi clase dar din alte versiuni
  4. Transmiterea obiectelor prin retea