Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Magga: PLEX: multimédia az egész lakásban
- Geri Bátyó: Agglegénykonyha 7 – Még egy megosztó – de gyors – étel: resztelt máj
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gurulunk, WAZE?!
- sh4d0w: Én és a számítógép
- koxx: Amikor a prófécia testet ölt – Finalmouse ULX Prophecy 'Scream' Classic
- Mr Dini: Mindent a StreamSharkról!
Új hozzászólás Aktív témák
-
Szmeby
tag
válasz
szcsaba1994 #7030 üzenetére
Ilyesmire gondolsz?
public class Main {
static abstract class A {
private final int f1;
private int f2;
A() {
this.f1 = 100;
}
A(int f1) {
this.f1 = f1;
}
void setF2(int f2) { this.f2 = f2; }
int getF1() { return this.f1; }
int getF2() { return this.f2; }
}
static abstract class B extends A {
private final int f3;
private int f4;
B(int f3) {
super();
this.f3 = f3;
}
B(int f1, int f3) {
super(f1);
this.f3 = f3;
}
void setF4(int f4) { this.f4 = f4; }
int getF3() { return this.f3; }
int getF4() { return this.f4; }
}
static final class C extends B {
C() {
super(300);
}
C(int f1) {
super(f1, 3000);
}
C(int f1, int f3) {
super(f1, f3);
}
C(int f1, int f2, int f3) {
super(f1, f3);
setF2(f2);
}
}
public static void main(String[] args) {
A a = new C(1, 3);
a.setF2(2);
System.out.println(a.getF1() + ", " + a.getF2());
B b = new C(10, 30);
b.setF2(20);
b.setF4(40);
System.out.println(b.getF1() + ", " + b.getF2() + ", " + b.getF3() + ", " + b.getF4());
C c = new C();
c.setF2(200);
c.setF4(400);
System.out.println(c.getF1() + ", " + c.getF2() + ", " + c.getF3() + ", " + c.getF4());
c = new C(1000);
System.out.println(c.getF1() + ", " + c.getF2() + ", " + c.getF3() + ", " + c.getF4());
c = new C(10000, 30000);
System.out.println(c.getF1() + ", " + c.getF2() + ", " + c.getF3() + ", " + c.getF4());
c = new C(100000, 200000, 300000);
System.out.println(c.getF1() + ", " + c.getF2() + ", " + c.getF3() + ", " + c.getF4());
}
}A super kulcsszó a barátod. Ezzel hívhatod meg az ős konstruktorát, itt adhatod át a konstruktor argumentumokat is. Ezeket vagy kívülről kapja a konstruktor, vagy akár egy konstanst is átadhatsz, attól függ, mi a cél. A fieldeket beállíthatja konstruktor, vagy ha példányosításkor még nem tudod, akkor setter. Most vegyesen vannak.
Lehet több konstruktor is egy osztályon belül, természetesen eltérő paraméterezéssel. Lehet default konstruktor. Ha default konstruktort hívsz, a super(); lényegében elhagyható, mivel a compiler mindig belefordítja. Mindig az első sorba... tehát az ős mindig készen fog állni arra, hogy az adattagjait piszkálhasd.
Ha nem tetszik a konstruktoron belüli setter hívogatás, a fieldeket teheted protecteddé, így közvetlenül is értéket adhatsz nekik. De ilyenkor a csomagon belül minden más osztály is írhatja ezeket az adattagokat.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Lenovo ThinkPad T14s Gen 2 i5 / 16 GB / 256 GB SSD + Windows 11
- ÚJ BONTATLAN Apple Watch Series 10 S10 42-46mm Azonnal Átvehető DEÁK TÉRNÉL 1 Év Apple Garanciával.
- Honor Magic 7 Pro 512 Gb - AI Pro kamera, 6,8 120 Hz LTPO OLED, Snapdragon 8 Elite,3 hó gari!
- Samsung Galaxy Z Fold6 Navy Duplakijelzős produktivitás, 120 Hz, Galaxy AI,2027. 09. 19
- Apple iPhone Air Space Black Pehelykönnyű elegancia,100% akku (6 ciklus) Garancia 2026. 09. 25
- Lenovo ThinkPad T14 Gen1 Intel I7 10610U
- GYÖNYÖRŰ iPhone 11 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3121, 100% Akkumulátor
- Targus DOCK423A - USB-C Dual HDMI 4K HUB - 2 x HDMI (120Hz)
- Lenovo ThinkPad X13 Gen 2 i5-1145G7 16GB 256GB FHD+ TouchScreen 100% sRGB - 1 év garancia
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black - 1 ÉV GARANCIA, Kártyafüggetlen,MS3489
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest