Record java
parent
10f251b78b
commit
2bdf796ae3
|
@ -0,0 +1,33 @@
|
|||
package oop.record;
|
||||
/* Einschränkungen:
|
||||
* - Keine Vererbung (extends).
|
||||
* - Keine zusätzlichen Instanzfelder außer den definierten Komponenten.
|
||||
* - Nur statische Felder sind zusätzlich erlaubt.
|
||||
* - Keine abstrakten Records, da sie immer final sind.
|
||||
* - Felder sind unveränderbar (final)
|
||||
*
|
||||
* Möglichkeiten:
|
||||
* - Generische Records
|
||||
* - Implementierung von Interfaces
|
||||
* - Verwendung von statischen und Instanzmethoden.
|
||||
* - Instanziierung mit new
|
||||
* - Verschachtelte Records oder Klassen
|
||||
*
|
||||
*/
|
||||
|
||||
public record Point(int x, int y) {
|
||||
// Kein weiterer Code erforderlich, alle notwendigen Methoden und Felder
|
||||
// werden automatisch generiert.
|
||||
|
||||
static int f = 10;
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
Point p = new Point(1,2);
|
||||
System.out.println(p.toString());
|
||||
System.out.println(p.f);
|
||||
System.out.println(p.x());
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue