Która składnia dodawania obiektu panelu (JPanel panel = new JPanel(),) do kontenera okna (JFrame frame = new JFrame();) w języku Java jest poprawna.
frame.add(panel);
panel.add(frame);
frame.addAction:istener(panel);
panel.addActionListener(frame);
Rozkład komponentów Java:
Null Layout FlowLayout GridLayout
BorderLayout BoxLayout
W języku Java rozkład komponentów (przycisków) w panelu p dodanego do okna aplikacji jak na rysunku niżej realizuje kod:
p.setLayout(new BoxLayout(5,10));
p.setLayout(new FlowLayout(5,10));
p.setLayout(new GridLayout(5,10));
p.setLayout(new BorderLayout(5,10));
W aplecie języka Java klasa główna implementuje interfejs obsługi zdarzeń ActionListener dodanie słuchacza zdarzeń do obiektu przycisku buton realizuje kod:
button.addActionListener(button);
button.addActionListener(this);
this.addActionListener(button);
this.addActionListener(this);
W metodzie init() klasy głównej apletu implementującego interfejs MouseListener znajduje się kod dodania słuchacza zdarzeń od myszki do źródła: addMouseListener(this); Które stwierdzenia są prawdziwe?
Źródłem zdarzeń jest aplet
Źródło zdarzeń nie jest określone i kompilator zgłosi błąd
Słuchaczem zdarzeń jest aplet
Słuchacz zdarzeń nie jest określony
W Java API javax.swing.tree to:
Interfejs
Pakiet
Klasa
Wyjątek
Realizację, tzw. Dymku podpowiedzi po najechaniu myszką na obiektu przycisku o nazwie buton umożliwia kod:
button.setText(”Treść dymku”);
button.getToolTipText(”Treść dymku”);
button.setToolTipText(”Treść dymku”);
button.getText(”Treść dymku”);
Metoda setOpaque(true) z klasy javax.swing.JComponent wywołana na rzecz obiektu komponentu biblioteki Swing powoduje, że komponent ten jest:
widoczny
niewidoczny
przezroczysty
nieprzezroczysty
Które stwierdzenia dotyczące mechanizmu SAX obsługiwanego z poziomu języka, Java są prawdziwe?
SAX to klasa z biblioteki java.awt do rozkładu komponentów w kontenerach
SAX to prosty interfejs programowania aplikacji dla obsługi XML-a
SAX odczytuje dokument XML sekwencyjnie od początku do końca i podczas teqo procesu wywołuje metody, tzw. wywołań zwrotnych
SAX nie jest obsługiwany w języku Java
Za pomocą obiektu jakiej klasy powinien odbywać się dostęp do pliku file_name.xml z apletu języka Java?
File file = new File(”file_name.xml”);
InputStream is = new InputStream(”file_name.xml”);
URL url = new URL(getCodeBase(),”file_name.xml);
Aplet uruchamia się po stronie klienta i nie może czytać danych z pliku XML
Która składnia umożliwia przeprowadzenie transformacji XSLT za pomocą programu języka Java?
parser.parse(source, handler); //parserowania zamiast transformacji tu wtedy OK
transformer.transform (source, result) ;
validator.validate(source);
builder.parse(source);
W języku Java w klasie serwletów javax.servlet.http.HttpServlet za obsługę żądań typu GET odpowiada:
processRequest();
doGet();
doPost();
Języka Java nie obsługuje żądań typu GET
Rejestracja sterownika JDBC dla bazy danych MySQL jest realizowana za pomocą kodu:
Connection connection = DriverManager.getConnection(url, user, password);
Class.forName(”com.mysql.jdbc.Driver”);
Statment statement = connection.createStatement();
ResultSet resultSet = Statement.executeQuery(query);
Obsługa bazy danych z apletu ze względów bezpieczeństwa powinna być realizowana:
Bezpośrednio z apletu za pomocą JDBC // Nie można jest poprawną odpowiedzią
Z apletu przez serwet zainstalowany w kontenerze Web na serwerze
Z apletu przez inny aplet
Nie jest możliwa obsługa bazy danych z apletu // Jest możliwa odpowiedź dobra
Parser strumieniowy StAX pozwala na:
Odczyt i zapis dokumentów XML
Tylko odczyt dokumentów XML
Tylko zapis dokumentów XML
Nie jest obsługiwany w języku JAVA // jest
Wyłączenie walidacji dokumentu XML z DTD z poziomu kodu Java w XML DOM jest możliwe po użyciu składni:
factory.setValidating(true); //Włączenie odpowiedź dobrze
factory.setValidating(false);
validator.validate(source);
validator.validate(source, result);
Metoda marshall w technologii JAXB pozwala na:
Tworzenie pliku XML z obiektu Java
Tworzenie obiektu Java z danych źródłowych XML
Tworzenie schematu XML Schema z obiektu Java //To potrafi JAXB
Nie występuję w technologii JAXB //występuję
Kompilator xjc służy do:
Kompilacji plików klasowych na podstawie schematu XML Schema
Walidacji dokumentu XML ze schematem XML Schema
Automatycznego generowania plików klasowych Java na podstawie schematu XML Schema
Automatycznego generowania schematu XML Schema na podstawie kodu Java
Która deklaracja zmiennych w język Java jest poprawna?
int #abc;
int %abc;
int $abc;
int _123;
Dany jest kod: package pl.edu.prz.jprokop; public class PackageTest {System.out.println(„My package test”);} Składnia którego polecenia pozwala po skompilowaniu na uruchomienie tego kodu?
java pl.edu.prz.jprokop.PackageTest
java PackageTest/jprokop/prz/edu/pl
java pl/edu/prz/jprokop/PackageTest
java PackageTest.jprokop.prz.edu.pl
Dany jest kod klasy o nazwie A:
class A {
int a = 1;
public static void main(String [] args) {
System.out.print ln(”a= ” = a);
}
}
Kompilacja i wołanie poniższego kodu spowoduje:
Output: a = 1;
Runtime Exception
Compilation error
Runtime Error
Zapis w kodzie źródłowym w postaci X extends Y jest prawdziwy:
Tylko wtedy jeśli X jest klasą a Y jest interfejsem
Tylko wtedy jeśli X jest interfejsem a Y jest klasą
Jeśli X i Y są jednocześnie klasami lub interfejsami
Dla wszystkich kombinacji w których X i Y są klasami i/lub interfejsami
W wyniku kompilacji kodu źródłowego otrzymano między innymi pliki Class$1.class, Class$2.class. Dlaczego w nazwach plików klasowych po znaku $ są liczby 1 i 2?
Ponieważ klasa zawierała dwie klasy wewnętrzne o nazwach 1 i 2
Ponieważ klasa zawierała dwie anonimowe klasy wewnętrzne
Ponieważ klasa zawierała dwie nazwane klasy abstrakcyjne
Ponieważ klasa zawierała dwie nazwane klasy adaptacyjne
Która składnia klasy sparametryzowanej o nazwie MyClass jest poprawna:
MyClass<int> obj = new MyClass<int>(123);
MyClass<Integer> obj = new MyClass<Integer>(123);
MyClass<String, Integer> obj = new MyClass<String, Integer>(”Java”,12);
Język Java nie obsługuję klas sparametryzowanych
Dany jest kod:
interface myInterface {boolean myFunction();}
Który poniższy fragment kodu da się z nim skompilować:
Interface myInterface2 implements myInterface { }
Abstract class MyClass1 implements myInterface { }
Class MyClass2 implements myInterface {boolean myFunction() {return false;}}
Abstract class MyClass2 extends myInterface {public boolean myFunction(){return true;}}
Która składnia implementacji dwóch interfejsów jest poprawna:
public class MyClass implemets MouseListener extends ActionListener { }
public class MyClass implemets MouseListener, ActionListener { }
public class MyClass extends MouseListener, ActionListener { }
public class MyClass extends MouseListener implements ActionListener { }
Która składnia tworzenia obiektu klasy wewnętrznej B jest poprawna?
A.B b = (new A()).new B();
A a = new A(), A.B b = a.new B(); //jeśli jest kropka po między A i B
B b = new B();
A.B b = new A.B();
Utworzony obiekt o nazwie listener wg kodu:
ActionListener listener = new ActionListener() {
Public void actionPerformed(ActionEvent e) {
System.out.println(”OK”);
}
};
Egzemplarz interfejsu ActionListener
Jawny egzemplarz klasy anonimowej typu interfejsu ActionListener
Kod jest niepoprawny ponieważ nie można utworzyć obiektu interfejsy (brak konstruktora)
Słuchacz zdarzeń typu Action
Który z niżej wymienionych interfejsów nie posiada swojej klasy adaptacyjnej?
java.awt.event.MouseListener
java.awt.event.WindowListener
java.awt.event.ActionListener
java.awt.event.KeyListener
Która składnia budowy słuchacza z zastosowaniem klasy adaptacyjnej przy obsłudze zdarzeń myszki jest poprawna?
public class MyListener implements MouseListener { }
public class MyListener extends MouseAdapter { }
public class MyListener extends MouseListener { }
public class MyListener implements MouseAdapter { }
Która składnia dodawania elementów do kolekcji ArrarList<String> arrayList = new ArrayList<String>(); jest poprawna?
arrayList.set(”abc”);
arrayList.add (”abc”);
arrayList.set(123);
arrayList.add(123);
W modelu MVC co odpowiada za kontroler?
Servlet
W języku Java serwlet to:
Program Javy wykonywany na urządzeniu mobilnym, np. telefonie komórkowym
Program Javy wykonywany po stronie serwera i przetwarzający, np. żądania klienta
Kod Javy wstawiony bezpośrednio do pliku HTML za pomocą znacznika <% … %>
Program Javy wykonywany po stronie klienta w przeglądarce internetowej
Za pomocą polecenia import w języku Java importuje się:
klasy
pakiety
interfejsy
podpakiety
Która definicja nowej klasy apletu biblioteki Swing w języku Java jest poprawna:
public class MyApplet extends java.applet.Applet(...);
public class MyApplet extends java.awt.Frame(...);
public class MyApplet extends javax.swing.JApplet(...);
public class MyApplet extends javax.swing.JFrame(...);
W aplecie języka Java, którego klasa główna implementuje interfejs obsługi zdarzeń ActionListener dodanie słuchacza zdarzeń do obiektu przycisku button realizuje kod:
button.addActionListener(button);
button.addActionListener(this);
this.addActionListener(button);
this.addActionListener(this);
Która składnia polecenia import w języku Java importuje klasę Button:
import Button.java.awt;
import java.awt.Button;
import java.Button.awt;
import awt.java.Button;
Która definicja nowej klasy aplikacji biblioteki Swing w języku Java jest poprawna:
public class MyAppl extends java.awt.Frame(...);
public class MyAppl extends java.awt.JFrame(...);
public class MyAppl extends javax.swing.Frame(...);
public class MyAppl extends javax.swing.JFrame(...);
W aplecie języka Java, którego klasa główna implementuje interfejs obsługi zdarzeń MouseListener dodanie słuchacza zdarzeń do obiektu samego apletu realizuje kod:
addMouseListener(this);
button.addMouseListener(this);
this.addMouseListener(button);
this.addMouseListener(this);
Które stwierdzenia dotyczące mechanizmu DOM obsługiwanego z poziomu języka Java są prawdziwe:
DOM to klasa z biblioteki java.awt do rozkładu komponentów w kontenerach
Interfejs Java API XML DOM pozwala na tworzenie nowego drzewa DOM
DOM odczytuje dokument XML sekwencyjnie od początku do końca i podczas tego procesu wywołuje metody tzw. wywołań zwrotnych
DOM nie jest obsługiwany w języku Java
Która składnia umożliwia przeprowadzenie parsowania pliku języka XML za pomocą interfejsu SAX języka Java:
parser.parse(source, handler);
transformer.transform(source, result);
validator.validate(source);
parser.parse(source);
PYTANIA INNE
String a = new String(“fuck”);
String b = new String(“fuck”);
Czy wyrażenia a == b mają wartość true?
a == b false // b sprawdza referencje do obiektu
a.equals(b) true
a.compareTo(b) //compareTo zwraca int, a nie boolean . if (a.compereTo(b) == 0) Wtedy zwróci true.
Co się stanie po kompilacji kodu:
Integer a = null; // Poprawna “inicjalizacja”.
int b = a; // Tutaj się wywali przy uruchomieniu: NullPointerException, Nie można do typów wbudowanych przypisywać null. (JB)
System.out.println(b); Gdyby było println(a) i nie było ‘int b = a’, to się skompiluje i wyświetli null. (JB) Odp: Otrzymamy: java.lang.NullPointerException
Co to jest out w wyrażeniu System.out.println(“fuck”) ?
Obiekt klasy Print Stream
Tworzenie schematu XML z klas java.
Na pewno schemagen
Program bez maina, w środku w klasie głównej blok static bez public, w środku nie ma exit, czy się uruchomi?
class myClass{static{System.out.println(“tralala”);}}
Skompiluje się, wypisze “tralala” i wywali wyjątek: NoSuchMethodError:
Czy można dziedziczyć z klasy string?
NIE
Interfejs sparametryzowany bez modyfikatora public, w środku metoda bez public, klasa dziedziczące ten interfejs implementuje metodę, ale ma napisane przy niej public - czy to zadziała? interface myInterface<T>{ myMethod(T argument){ } } /* nie wiem czy był modyfikator*/ class myClass<T> implements myInterface<t> {
public static void main(String[] args) {
myClass<Double> d = new myClass<Double> ();
d.myMethod(123);
}
public myMethod(T dupa) { System.out.println(dupa); }
}
wg klucza nie skompiluje się, ponieważ jest błąd, pytałem o to Prokopa i powiedział, że w javie nie ma automatycznej konwersji w takim przypadku
Odpowiedzi: - wypisze 123 - wypisze 123.0 - nie skompiluje się - skompiluje się ale nie uruchomi
class A {} class B extends A {//tu tworzymy obiekt}
Można tak
Która składnia dodawania obiektu panelu (JPanel panel = new JPanel();) do kontenera okna (JFrame frame = new JFrame();) lub podmieniania jego zawartości w języku Java jest poprawna:
frame.add(panel);
panel.add(frame);
frame.getContentPane().add(panel);
frame.setContentPane().add(panel);
Czy można dodać button do buttona?
Tak
Czy można dodać button z html w konstruktorze do buttona? (pamięta ktoś, czy było jbutton czy zwykly button z awt?).
Można wszystko
Zmienna “akcja” jest obiektem klasy AbstractAction. Czy można wywołać new Button (action)?(a może tam było JButton?)
Dla klasy Button (AWT) nie ma takiego konstruktora, więc nie można wywołać. Dla klasy JButton (Swing) można wywołać taki konstruktor. (JB) //potwierdzam, tak jest w kluczu, był to JButton, poza tym dobra była jeszcze odpowiedź z metodą setAction();
Adnotacje - która linijka odpowiada za element o nazwie “cos”
@element (name = “cos”)
@rootelement(name = “cos”)
java nie obsługuje adnotacji”
Czy dla JButton button można wywołać:
button.setOpaque(true);
button.setToolTipText(“java”);
button.getToolTipText(“java”);
getToolTipText nie przyjmuje parametrów,
Która składnia klasy sparametryzowanej o nazwie MyClass jest poprawna
(class MyClass<T exteneds Number> {...})
MyClass<int> obj = new MyClass<int>(123);
MyCLass<String> obj = new MyClass<String>(“asdf”)
MyClass<Double> obj = new MyClass<Double>(123.0)
Jak się dostać do PrintWrite w serwlecie albo jakoś podobnie.
getWriter()
getReader()
getOutputStream()
cos z DocumentBilderemFactory Jak utworzyć obiekt klasy fabrykującej XSLT
TransformerFactory fabryka = new TransformerFacroty().newInstance();
TransformerFactory fabryka = new TransformerFactory();
Jak parsować xml w SAX?
parser.parse(“my_file.xml”);
parser.parse(“my_file.xml”, new cosHandler); .
Mamy class A { class B { } }
Czy to : A.B b = new A().new B(); zadziała ?
wg NetBeans’a tak
Mamy klasę: class A<T>{ } Co jest poprawne:
A <String>a = new A<String>(“jaś”);
A <int>a = ne<Double>a = new A<Double>(1.1);
w A<String>(1);
A A <double>a = new A<double>(1.1);
A <int>a = new A<int>(1);
Odp: wg NetBeans’a żadne (bo nie ma konstruktora) Poprawny jest kod typu : A <Double>a = new A<Double>();
Jaka może być deklaracja tablicy?
int []d = {1,2,3,4};
int d[] = new int[45];
Mamy metodę: private void Method(String ... stringTable) { for(String string : stringTable) { System.out.println(string); } } oraz jej wywołanie:
Method();
Method("Zofia Przyciółkówna");
Method("Maria J");
otrzymujemy: Zofia Przyciółkówna Maria J //na zaliczeniu było print a nie println i dlatego wypisuje się w jednej linijce
Czy zadziała import klasy a nie pakietu (System, Math), czy Math nie zawiera przypadkiem zmiennej o nazwie “out” (wtedy sie nie skompiluje)?
import działa, wszystko się kompiluje i w programie można używać out bez System wcześniej
class A { class B { } }
class C{ //wywołanie tutaj obiektu klasy B }
Nie można: B cośtam = new A(); Pozostałe możliwości OK.
Jakie pliki zostaną utworzone dla :
class A { class B { class C { class D { } } } }
A.class, A$B.class, A$B$C.class, A$B$C$D.class
Jakie pliki zostaną utworzone:
class A { void method() { class B { } } }
A$1B.class oraz A.class