1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();

Podobne dokumenty
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?

1. Co można powiedzieć o poniższym kodzie? public class A { void m(int a) { } int m(string s) { return Integer.parseInt(s); }

package pakieta; import pakietb.b; package pakietb; public class B { B(){} public class A { private B b; A(B b) { this.b = b; } }

1. Co można powiedzieć o poniższym kodzie (zakładając, że znajduje się on w jednym pliku A.java)?

1. Co można powiedzieć o poniższym kodzie?

1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Programowanie obiektowe

Przykłady interfejsu TCP i UDP w Javie

Wykład 7: Pakiety i Interfejsy

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

Programowanie obiektowe

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Programowanie obiektowe

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

Aplikacja wielowątkowa prosty komunikator

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Aplikacje RMI Lab4

Aplikacja wielow tkowa prosty komunikator

Wykład 8: Obsługa Wyjątków

Aplikacje RMI

Języki i metody programowania Java INF302W Wykład 3 (część 1)

public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:

Aplikacje RMI. Budowa aplikacji rozproszonych. Część 2.

Programowanie w Internecie. Java

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Podstawy programowania w lejos

Java programowanie w sieci. java.net RMI

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Aplikacje w środowisku Java

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Systemy Rozproszone - Ćwiczenie 6

Tworzenie i wykorzystanie usług

Remote Method Invocation 17 listopada 2010

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Podejście obiektowe do budowy systemów rozproszonych

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Java podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.

Materiały do zajęć III

Wykład 2: Podstawy Języka

Wywoływanie metod zdalnych

KLASY, INTERFEJSY, ITP

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Programowanie obiektowe

Java. Programowanie Obiektowe Mateusz Cicheński

Klasy abstrakcyjne, interfejsy i polimorfizm

Zaawansowane aplikacje WWW - laboratorium

Throwable. Wyjatek_1(int x_) { x = x_; } int podaj_x()

Projektowanie aplikacji internetowych laboratorium

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1

Programowanie i projektowanie obiektowe

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Java: interfejsy i klasy wewnętrzne

1 Atrybuty i metody klasowe

Programowanie obiektowe zastosowanie języka Java SE

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

Podstawy i języki programowania

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Zdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Wywoływanie metod zdalnych

Przykład -

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

WYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.

Dokumentacja do API Javy.

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Jakarta POI. POIFS obsługa dokumentów OLE 2, HSSF dokumenty w formacie Excel'a, HWPF proste dokumenty w formacie Word 97,

Ćwiczenie 1. Przygotowanie środowiska JAVA

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Podejście obiektowe do budowy systemów rozproszonych

Dawid Gierszewski Adam Hanasko

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

SWING c.d. przydatne narzędzia: JFileChooser, JOptionPane. drag'n drop, menu kontekstowe.

Programowanie obiektowe

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Wykład 4: Klasy i Metody

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

Języki i metody programowania Java. Wykład 2 (część 2)

Programowanie w języku Java

Języki i metody programowania Java Lab2 podejście obiektowe

Oprogramowanie systemów równoległych i rozproszonych Wykład 7

AXIS2 - tworzenie usługi sieciowej i klienta Axis Data Binding. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Programowanie obiektowe

Katalog książek cz. 2

Obiekty sieciowe - gniazda Komputery w sieci Internet komunikują się ze sobą poprzez:

Programowanie rozproszone w języku Java

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Transkrypt:

1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie zadeklarowano metodę m2() c) Poprawnie zadeklarowano metodę m3() d) Poprawnie zadeklarowano metodę m4()

2. Co można powiedzieć o poniższym kodzie? package lecture; public interface I { void m(); package other; import lecture.i; public interface J extends I { public void m(); package lecture; import other.j; public class A implements J { @Override public void m() { a) Jego kompilacja zakończy się błędem (w interfejsie J zwiększono dostępność metody m()) b) Jego kompilacja zakończy się błędem (niepoprawna deklaracja: J extends I) c) Jego kompilacja zakończy się błędem (zła implementacja klasy A) d) Jego kompilacja przebiegnie bez przeszkód

3. Co można powiedzieć o poniższym kodzie? public interface I { public default Integer m1() {return 1; public default int m2() {return 1; public static Integer m3() { return Integer.parseInt("1"); a) Jego kompilacja zakończy się błędem (źle zadeklarowana metodę m1()) b) Jego kompilacja zakończy się błędem (źle zadeklarowana metodę m3()) c) Jego kompilacja zakończy się błędem (za dużo metod z modyfikatorem default) d) Jego kompilacja przebiegnie bez przeszkód

4. Co można powiedzieć o poniższym kodzie? public interface I { public static void m1() { System.out.println("I::m1"); public class A implements I { @Override public void m() { System.out.println("A::m"); public static void main(string[] args) { new A().m1(); a) Jego kompilacja zakończy się błędem (źle zadeklarowana metodę m() w klasie A) b) Jego kompilacja zakończy się błędem (źle zadeklarowana metodę m1() w interfejsie I) c) Jego kompilacja zakończy się błędem (źle wywołano metodę m1() w metodzie main) d) Jego kompilacja przebiegnie bez przeszkód

5. Co można powiedzieć o poniższym kodzie? interface I { public Integer m(string s, I i); public class A implements I { @Override public Integer m(string s, I i) { return Integer.parseInt(s)+i.m("2", i); // 1 public static void main(string[] args) { A a = new A(); System.out.println(a.m("1", a::m)); // 2 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się 3 d) Po jego kompilacji i uruchomieniu metody main zostanie wyrzucony wyjątek

6. Co można powiedzieć o poniższym kodzie? import java.util.function.bifunction; interface I { abstract public int m(string s, A a); public void n1(i i) { System.out.println(i.m("A",this)); public void n2(bifunction<string,a,integer> i) { System.out.println(i.apply("A",this)); public static void main(string[] args) { A a = new A(); a.n1( (x,y) -> 1); // 1 a.n2( (x,y) -> 1); // 2 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja i uruchomienie metody main przebiegną poprawnie d) Po jego kompilacji i uruchomieniu metody main zostanie wyrzucony wyjątek

7. Co można powiedzieć o poniższym kodzie? interface I { public static int n(string s) { return s.length(); interface J { public static int n(string s) { return s.indexof("1"); public static void main(string[] args) { A a = new A(); System.out.println(a.<I>m("012")); // 1 System.out.println(a.<J>m("012")); // 2 public <T> int m(string s) { T t; return T.n(s); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie metody main przebiegną poprawnie

8. Które z narzędzi służy do tworzenia minimalnego środowiska uruchomieniowego aplikacji Java? a) jmod b) jlink c) jar d) jdist

9. Co można powiedzieć o poniższym kodzie? class B { int i = 1; class BB extends B { int ii = 2; class BBB extends BB { int iii = 3; class BBBB<T> extends BBB { T t; int iiii = 3; public static void m(bbbb<? super BB> b) { System.out.println(b.i+b.ii); // 1 public static void main(string[] args) { m(new BBBB<BBB>()); // 2 m(new BBBB<B>()); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie metody main przebiegną poprawnie

10. Co można powiedzieć o poniższym kodzie? public static void m(b b1, B b2) { b1.i+b2.i; // 1 public static void main(string[] args) { m(new B(), new A.B()); // 2 static class B { // 3 int i; a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie metody main przebiegną poprawnie

11. Co można powiedzieć o poniższym kodzie? int i = 0, j = 0; et1: while (i < 2) { ++i; et2: for (; j < 3;) { System.out.print(" " + i + " " + j); while (j < 2) { j++; if (i == 1) break et1; else continue et2; a) Po jego poprawnej kompilacji i uruchomieniu na ekranie pojawi się wiersz: 1 0 b) Po jego poprawnej kompilacji i uruchomieniu na ekranie pojawią się wiersz z powtarzającymi się: 1 0... c) Po jego poprawnej kompilacji i uruchomieniu na ekranie pojawi się wiersz: 1 0 1 1 1 2 d) Jego kompilacja zakończy się błędem

12. Co można powiedzieć o poniższym kodzie? class P { public int x; public String s; public static void m(p p) { System.out.println(p.x+p.s); public static void main(string[] args) { P p = {1, "1"; m(p); a) Jego kompilacja zakończy się błędem w metodzie main b) Jego kompilacja zakończy się błędem w metodzie m c) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: 11 d) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: 2

13. Co można powiedzieć o poniższym kodzie? enum E { public E1(), E2(10); private int i = 0; E() {; E(int i) { this.i = i; public static void main(string[] args) { E e = E.E1; switch (e) { case E1: System.out.println("E1"); break; case E2: System.out.println("E2"); break; a) Jego kompilacja zakończy się błędem (źle zaimplementowana instrukcja switch) b) Jego kompilacja zakończy się błędem (nie można tworzyć wielu konstruktorów w typie wyliczeniowym) c) Jego kompilacja zakończy się błędem (nie można używać modyfikatorów dostępu przy stałych deklarowanych w typie wyliczeniowym) d) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie

14. Co można powiedzieć o poniższym kodzie? class E1 extends Exception { class E2 extends Exception { public static void m() throws Exception {// 1 try { n(); catch (E1 E2 e) { e = new E1(); throw e; // 2 public static void n() throws E1, E2 { // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja przebiegnie poprawnie

15. Co można powiedzieć o poniższym kodzie? class E1 extends Exception { class E2 extends E1 { // 1 class B extends A { public void m() throws E2 {; // 2 public void m() throws E1 { // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja przebiegnie poprawnie

16. Co można powiedzieć o poniższym kodzie? public abstract class A {// 1 public static void main(string[] args) { A a = new B(); // 2 class B extends A { // 3 a) Aby jego kompilacja przebiegła poprawnie należy dodać modyfikator abstract w linii 3 b) Aby jego kompilacja przebiegła poprawnie należy usunąć modyfikator abstract w linii 1 c) Jego kompilacja przebiegnie poprawnie d) Jego kompilacja zakończy się błędem w linii 2

17. Co można powiedzieć o poniższym kodzie? import java.io.objectoutputstream; class E extends Exception { public static void main(string[] args) { try { ObjectOutputStream o = new ObjectOutputStream("out.bin"); o.writeobject(new E()); catch (Exception e) { a) Jego kompilacja zakończy się błędem (nie można zapisywać wyjątku do strumienia obiektów) b) Jego kompilacja zakończy się błędem (źle utworzono strumień do zapisu obiektów) c) Jego kompilacja zakończy się błędem (w bloku try-catch nie wychwycono wszystkich wyjątków) d) Jego kompilacja przebiegnie poprawnie

18. Co można powiedzieć o poniższym kodzie? import java.util.arrays; import java.util.stream.intstream; public static void main(string[] args) { int tab[] = new int[] {0, 1, 2; IntStream.range(0, 5). foreach(x -> { tab[x % 3] = x + 2 * x; ); System.out.println(Arrays.toString(tab)); a) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: [9, 12, 6] b) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: [6, 9, 12] c) Po jego kompilacji i uruchomieniu metody main na ekranie pojawi się: [9, 12, 15] d) Jego kompilacja zakończy się błędem

19. Co można powiedzieć o poniższym kodzie? class W extends Thread { public void run() { try { w2.join(); catch (InterruptedException e) { void start() { w1.start(); private W w1 = new W(), w2 = new W(); public static void main(string[] args) { new A().start(); a) Po jego kompilacji i uruchomieniu metody main powstanie program działający bez końca b) Po jego kompilacji i uruchomieniu metody main powstanie program, który zaraz zakończy działanie c) Po jego kompilacji i uruchomieniu metody main wyrzucony zostanie wyjątek i program zakończy działanie d) Jego kompilacja zakończy się błędem

20. Co można powiedzieć o poniższym kodzie? class W extends Thread { public void run() throws InterruptedException { Thread.sleep(1000); public static void main(string[] args) { new W().run(); a) Po jego kompilacji i uruchomieniu metody main powstanie program działający bez końca b) Po jego kompilacji i uruchomieniu metody main powstanie program, który zaraz zakończy działanie c) Jego kompilacja zakończy się błędem w klasie W d) Jego kompilacja zakończy się błędem w klasie A

21. Która z metod klasy DatagramPacket służy do pobrania numeru portu? a) port() b) findport() c) recieveport() d) getport()

22. Co można powiedzieć o poniższym kodzie? import java.net.*; public static String receive() throws Exception { DatagramSocket ds = new DatagramSocket(1024+1); byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf, 1024); ds.receive(dp); ds.close(); return new String(dp.getData(), 0, dp.getlength()); public static void main(string[] args) throws Exception { System.out.println(receive()); a) Po kompilacji i uruchomieniu metody main powstanie program, który jeśli nie otrzyma pakietu danych zakończy swoje działanie (wypisując na ekranie pusty ciąg znaków) b) Po kompilacji i uruchomieniu metody main powstanie program, który zakończy działanie dopiero po otrzymaniu pakietu danych (wypisując na ekranie zawartość tego pakietu) c) Jego kompilacja zakończy się błędem w metodzie receive d) Jego kompilacja zakończy się błędem w metodzie main

23. Które z poleceń nie zapewni skompilowania wszystkich źródeł projektu i umieszczenia skompilowanych klas w podkatalogach katalogu bin odpowiednio do zadeklarowanych pakietów? package lecture; C c; package lecture; public class C { package other; public class B { a) E:\Projekt01> javac -d bin src/lecture/*.java src/other/*.java b) E:\Projekt01> javac -sourcepath src/lecture;src/other -classpath bin -d bin *.java c) E:\Projekt01> javac -sourcepath src -classpath bin -d bin src/lecture/a.java src/other/*.java d) E:\Projekt01> javac -sourcepath src/lecture;src/other -classpath bin -d bin *.java

24. Która z metod służy do zadeklarowania rozmiaru i położenia komponentu Swing? a) setconstraints b) setsize c) setbounds d) setdimention

25. Co można powiedzieć o poniższym kodzie? static class A { public void m() { class A { public static void main(string[] args) { new A.A().m(); a) Jego kompilacja zakończy się błędem (nie można definiować klas zagnieżdżonych i wewnętrznych o takich samych nazwach jak klasa zewnętrzna) b) Jeśli zdanie a) jest fałszywe, to wywołanie metody m w metodzie main i tak jest niepoprawne c) Jego kompilacja przebiegnie poprawnie, ale po uruchomieniu metody main zostanie wyrzucony wyjątek d) Jego kompilacja i uruchomienie metody main przebiegną poprawnie

26. Co można powiedzieć o poniższym kodzie? import java.io.ioexception; import java.net.*; static SocketFactory sf = SocketFactory.getDefault(); // 1 public static void setfactory() throws IOException{ Socket.setSocketImplFactory((SocketImplFactory) sf); // 2 ServerSocket.setSocketFactory((SocketImplFactory) sf); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jest kompilacja przebiegnie poprawnie

27. Które z poniższych należą do zastrzeżonych, ale nieużywanych słów kluczowych języka Java? a) union b) assert c) const d) goto

28. Co można powiedzieć o poniższym kodzie? void m(int a) { int m(string s){return Integer.parseInt(s); String m(int a){ return Integer.toString(a); a) Jego kompilacja nie powiedzie się (nieobsłużony wyjątek NumberFormatException) b) Jego kompilacja nie powiedzie się (złe przeciążenie metody m) c) Jego kompilacja nie powiedzie się (zła konwersja z int do String) d) Jego kompilacja przebiegnie poprawnie

29. Co będzie wynikiem wykonania poniższego kodu? URL obj = new URL("http://www.pwr.edu.pl/index.dhtml"); System.out.print(obj.getHost()); a) www.pwr.edu.pl b) pwr.edu.pl c) http://www.pwr.edu.pl/index.dhtml d) 156.17.193.247

30. Co można powiedzieć o poniższym kodzie? class B extends A { public static void n(a... a){ // 1 public static void main(string[] args) { B[] ab = new B[2]; A a = new A(); n(ab); // 2 n(a,a); // 3 a) Jego kompilacja zakończy się błędem w linii 1 b) Jego kompilacja zakończy się błędem w linii 2 c) Jego kompilacja zakończy się błędem w linii 3 d) Jego kompilacja i uruchomienie metody main przebiegnie poprawnie