java 2
Von Oracle Certified Professional Java SE 8 Programmer 2 Study guide - Jeanne Boyarsky and Scott Selikoff
Von Oracle Certified Professional Java SE 8 Programmer 2 Study guide - Jeanne Boyarsky and Scott Selikoff
Set of flashcards Details
Flashcards | 500 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 03.03.2020 / 22.06.2022 |
Licencing | Not defined |
Weblink |
https://card2brain.ch/box/20200303_java_2
|
Embed |
<iframe src="https://card2brain.ch/box/20200303_java_2/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Wie geht die Reihenfolge in der Java eine überladene Methode auswählt, wenn es mehrere Kanidaten gibt?
1. Exact match by type
2. Matching a superclass type
3. Converting to a larger primitive type
4. Converting to an autoboxed type
5. Varargs
Kann eine überschreibende Methode weniger accessible sein?
Nein, entweder gleich oder mehr
Was sind die Regeln die eine überschriebene Methode einhalten muss?
- Der access modifier muss der gleiche oder offener sein
- Der returntype muss der gleiche oder ein restriktiverer sein (covariant return types)
- Wenn checked exceptions geworfen werden darf nur die gleiche oder eine subklasse der exception geworfen werden
Was passiert wenn man eine statische Methode überschreibt?
Geht nicht - wird nur versteckt
Was kann hier statt dem kommentar eingefügt werden?
abstract class Cat{
// Kommentar
}
class Lion extends Cat {
void clean() {}
}
- Kann leer sein
- abstract void clean();
- void clean () {}
- ... (z.B. wirft eine RuntimeException, ..)
Ist "null instanceof Object" true oder false?
false
Was gibt folgendes Snippet aus?:
abstract class Animal {
String name = "???";
public void printName() {System.out.println(name);}
}
class Lion extends Animal {
String name = "Leo";
}
public class PlayWithAnimal {
public static void main(String ... args) {
Animal animal = new Lion();
animal.printName();
}
}
Gibt ??? aus
Was sind die drei keypoints des Contracts beim Überschreiben von hashCode()?
- Innerhalb eines Programms darf sich das Ergebnis von hashCode() nicht ändern
- Wenn equals() true returned bei zwe objekten dann muss hashCode auf beiden dasselbe ergebnis liefern
- Wenn equals() false return bei zwei objekten dann muss hashCode nicht zwingend eindeutig sein bei beiden Objekten