Hirdetés
- Magisk
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy Watch7 - kötelező kör
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- iPhone topik
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Bemutatkozott a Poco X7 és X7 Pro
- Yettel topik
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
Ú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?:))
- PlayStation 5
- Okos Otthon / Smart Home
- Filmvilág
- Elektromos autók - motorok
- Elektromos cigaretta 🔞
- NVIDIA GeForce RTX 5060 Ti (GB206)
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Magga: PLEX: multimédia az egész lakásban
- Magisk
- Motorola Edge 50 Neo - az egyensúly gyengesége
- További aktív témák...
- Dell Optiplex MT/SFF 3040, 3050, 3060, 3070, 5070, 7060/ Hp ProDesk /SZÁMLA- GARANCIA
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 12 mini 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3851
- Xbox One S 512 GB + kontroller 6 hó garancia, számlával!
- ÁRGARANCIA! Épített KomPhone Ultra 9 285K 64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


