javazert

javazert

javazert


Set of flashcards Details

Flashcards 300
Language Deutsch
Category Computer Science
Level Other
Created / Updated 08.01.2020 / 08.01.2020
Weblink
https://card2brain.ch/box/20200108_javazert
Embed
<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