Hirdetés
- Az Apple bemutatta az iPhone 17-et
- Google Pixel topik
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Vivo X200 FE amire vágytam
- Sony Xperia 1 V - kizárólag igényeseknek
- Xiaomi 15 - kicsi telefon nagy energiával
- Xiaomi Smart Band 10 - a hetedik napon megpihen
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
Ú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?:))
- AliExpress tapasztalatok
- sziku69: Fűzzük össze a szavakat :)
- Las Vegasban hazárdírózhat a Tesla Robotaxi
- Milyen routert?
- Az Apple bemutatta az iPhone 17-et
- A fociról könnyedén, egy baráti társaságban
- Milyen videókártyát?
- TCL LCD és LED TV-k
- BestBuy topik
- Milyen alaplapot vegyek?
- További aktív témák...
- Creative Sound BlasterX H6 Gamer fejhallgató számlával és garanciával
- Samsung Galaxy S25 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Újszerű vékony és könnyű ÉRINTŐS Lenovo X1 Carbon (Core I5 16Gb DDR4 512Gb SSD Windows11)
- Bontatlan egérpad Razer Sphex V3 (RZ02-03820100-R3M1
- ASUS ROG Strix G15 Gamer Laptop újszerű állapotban, dobozával.
- DELL PowerEdge R630 rack szerver - 2xE5-2680v4 (28c/ 56t, 2.4/3.3GHz), 128GB RAM, 10G, áfás szla
- Telefon felvásárlás!! Xiaomi Redmi Note 10, Xiaomi Redmi Note 10s, Xiaomi Redmi Note 10 Pro
- elado Deepcool AK620 DIGITAL PRO minden tartozékéval
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5600X / RX 6700XT / 32GB DDR4 !
- HIBÁTLAN iPhone 12 mini 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2036
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest