javazert
javazert
javazert
Fichier Détails
Cartes-fiches | 300 |
---|---|
Langue | Deutsch |
Catégorie | Informatique |
Niveau | Autres |
Crée / Actualisé | 08.01.2020 / 08.01.2020 |
Lien de web |
https://card2brain.ch/box/20200108_javazert
|
Intégrer |
<iframe src="https://card2brain.ch/box/20200108_javazert/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Was macht die "javac"-option -d?
Sagt dem compiler dass er eine directory-struktur wie im pacakgename angegeben ist erstellen soll. Der Wert danach gibt an wo (z.B. "." für current Directory")
Was gibt die "java" option "-classpath" an? Was ist die Kurzform?
-cp = Kurzform
Hier gibt man an wo die Klassen liegen (das directory, nicht die tatsächliche klasse)
Was kann man in der Datei "MANIFEST.MF" angeben, wo liegt sie, wie wird sie erstellt?
Erstellt in mymanifest.txt (name nicht wichtig, muss nur bei jar übergeben werden)
liegt in der erstellten jar
main-class kann angegeben werden, damit kann die jar dann durch anklicken laufen gelassen werden oder oder von der cmd ohne den namen angeben zu müssen
Wie erstellt man bspw. die jar "accounting.jar" mit dem manifest "mymanifest.txt" für "accounting"?
jar -cvfm accounting.jar mymanifest.txt accounting
Für was steht die "jar"-option -c ?
für create
Für was steht die "jar"-option -v ?
Für verbose
Für was steht die "jar"-option -f ?
Für die output-file
Für was steht die jar-option -m ?
inkludiert die manifestinformation des manifest-files
Kann die main-Methode auch exceptions werfen?
Ja
Was steht in args wenn man keine Argumente übergibt?
ein leeres Array (aber nicht null!)
Was machen Quotes " wenn sie args übergeben werden?
Wenn nicht escaped ist der Wert innerhalb der Quotes ein Argument
Kann man ein Package "default" erzeugen?
Nein, default ist ein reserviertes Schlüsselwort
Wie kann man Klassen von anderen Packages referenzieren?
Sie importieren oder mit dem FQN referenzieren
Sind duplicated import statements erlaubt?
Ja
Welches package wird automatisch in alle Klassen importiert?
java.lang
Wie können subpackages importiert werden?
(bspw. de.test.IrgendeineKlasse und de.test.subpackage.weitereKlasse)
Mit expliziter Angabe, de.test.* würde die Subpackages nicht importieren
Wie können klassen aus dem default-package importiert werden?
Können nicht in anderen packages importiert werden, etwas wie "import *" gibt es nicht!
Wovon hängt der Platzbedarf bei Referenzvariablen ab?
Vom Addressierungsmechanismus des Geräts (32bit = 4 byte, 64 bit = 8 byte)
Funkitoniert:
int a = 10, int b; ?
Nein, nur ein typename in einem Statement
Funktioniert
int a,b = 10, c=20;
Ja
Funktioniert
int x=y=10; ?
Nein, y wurde nicht definiert bevor es genutzt wurde
Kann man primitive Typen auf null setzen?
Nein, nur referenztypen
Kann man unintialisierte lokale Variablen verwenden?
Nein, der compiler mekkert - nur statische/instance-variablen werden von java mit einem default-wert initialisiert
Was macht der Compiler bei uninitialisierten Variablen welche nicht verwendet werden?
Er compiliert, ist kein Problem für ihn solange sie nicht verwendet werden
Was ist das Prinzip des "definite assignment"?
Dass Variablen initialisiert sein müssen bevor sie aufgerufen werden
Was hat es mit "constant expressions" bei der Variablen-initialisierung in Java zu tun? Warum ist das wichtig?
Der compiler kann keinen Code ausführen, die initialisierung darf also nicht auf code beruhen.
D.h. auch wenn der Code nur dazu führen kann dass Variablen initialisiert werden (bspw in if das immer true ist), würde der compiler dennoch einen Fehler schmeißen
Ist das Literal 1_234_543.0 ein valides Literal?
Ja, Jvaa erlaubt underscores in numerischen Literalen
Was bedeutet "widening conversion" (bzw. "implicit widening conversion") ?
Einen kleineren Type in einen größeren Type packen (kein Cast notwendig, passt ja immer)
Kann man einen größeren Datentyp in einen kleineren Datentyp ohne Cast packen?
Ja, aber nur wenn der größere Datentyp final ist (also dem compiler der Wert bekannt ist) und auch passen würde
Was bedeuted "implicit narrowing"?
Der Compiler macht variablen automatisch kleiner, wenn er merkt dass sie in einen kleineren Datentyp passen. Gilt aber nur für Variablen, nicht für Rückgaben von Methoden!
In welche Datentypen kann ein boolean-wert gecasted werden?
In gar keine, es kann auch kein Wert in boolean gecasted werden
Was bedeuted "explicit narrowing"?
Ein cast, d.h. dem Compiler sagen dass ein größerer Wert in einen kleineren passt und diesen da reinpacken
Wie kann ein Wrapper für einen primitive type erstellt werden?
- new Integer(10)
- Integer.valueOf(10)
- Integer.valueOf("10") //null geht nur bei boolean, 10.2 würde hier exception werfen, ..
- valueOf returnt ggfls gecachtes objekt
- autoboxing : Integer i = 100;
Wie kann aus einem wrapper ein primitive type gemacht werden?
- xxxValue-Methods, z.b. new Integer(10).intValue()
- unboxing: int i = new Integer(10);
Funktioniert:
Object a=b, b=null?
Nein, da b bei der Zuweisung zu a noch nicht definiert ist
Was versteht man unter shadowing?
Wenn eine Variable in einer Methode (Parameter oder lokale variable) eine instanz/statische Variable dieser Klasse überdeckt
Ist eine solche Zeile prinzipiell möglich?.
Student s4 = this;
ja
Wo kann man this überall verwenden? (welche blocks, mehtoden, ..)
- instance initializer blocks
- Konstruktoren
- Instanz-methoden
Wo kann man this nicht verwenden? (blocks, methoden,..)
In statischen Methoden und statischen blocks (gehören ja zu keinem Objekt)
Wieviele package-statements kann eine java-file haben?
0 oder 1