Hirdetés
- MIUI / HyperOS topik
- Apple iPhone 15 Pro Max - Attack on Titan
- iPhone topik
- Titan 2 Elite néven érkezik egy újabb BlackBerry-szerű Unihertz
- Kicsinálja az S26 Ultra a fóliagyártókat
- Kijavították az iPhone Air legfőbb hibáját
- Fotók, videók mobillal
- Poco X3 Pro - hardverfrissítés
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Luxuspóráz: okosláncot akasztana a nyakadba az Apple
Új hozzászólás Aktív témák
-
WonderCSabo
félisten
Te nagyon kevered a szezont a fazonnal. Nem sokat programoztál Javában, meg úgy egyáltalán, jól sejtem? Az alapokat valahogy össze kéne szedni. A szál nem azt jelenti, hogy egy külön osztályba szervezed a kódot, hanem teljesen mást.
Most gondoltam el kezdem magyarázni, hogy hogyan készíts egy új szálat Android módon stb, de rájöttem, hogy igazából a szál fogalmát se ismerheted, különben nem jössz elő ezzel a példával. No offense. Itt van egy leírás az Android UI száláról. Itt pedig úgy szálakról általában. Ha ezeket elolvastad, ne tévesszen meg a dolog, Android-on nem Thread-et szoktunk használni, hanem az első linkben bemutatott AsyncTask-ot.
Default constructor cannot handle exception type MalformedURLException thrown by implicit super constructor. Must define an explicit constructor
Ha egy osztályban nem deklarálsz explicite konstruktort, akkor a fordító létrehoz egy úgynevezett default konstruktort, aminek nincs paramétere és nem dob semmilyen kivételt. De csak akkor hozza létre. ha az ősnek létezik és elérhető olyan konstruktora aminek nincs paramétere és nem dob semmilyen kivételt. Tehát valójában "így nézne ki a class":
public class UrlRead {
public UrlRead(){
super();
}
...
}Ezen kívül Te a konstruktoron kívül rögtön inincializálod a két meződet. Ebben az esetben ez a művelet valójában úgymond a default konstruktorban fog végrehajtódni, valahogy így lesz a lefordított osztályban (pszeudokód):
public class UrlRead {
URL logPage;
BufferedReader in;
public UrlRead(){
logPage = new URL("http://bkaroly.hu/log.php");
in = new BufferedReader(new InputStreamReader(logPage.openStream()));
super();
}
...
}Itt viszont meghívod az URL osztály konstruktorát. Ebben deklarálva van, hogy MalformedURLException-t dobhat:
URL osztály részlete:
public URL(String url) throws MalformedURLException{ ... }
Javában viszont minden ellenőrzött kivételt (és a MalformedURLException az), kötelező lekezelni. Ennek két módja van, vagy try-catch blokkba rakod a műveletet, vagy jelzed, hogy tovább dobható a kivétel a throws kulcsszóval. De a default konstruktor nem dobhat tovább kivételt, ahogy már jeleztem, ezért kapod ezt a fordítási hibát.
Mellesleg a kódodnak nem sok értelme lenne ha fordulna is, hiszen megkapod a BufferedReadert de aztán semmit se kezdesz vele.
Új hozzászólás Aktív témák
- Eladó Konfig I5 12400F 16GB DDR4 1TB SSD RX9060XT 8GB!
- Hibátlan, újszerű Crucial 32GB (2x16GB) KIT DDR4 3200MHz CL16 Ballistix Black - Még 6 év bolti gari!
- 24" Samsung Odyssey G3 G30A FHD 144Hz gaming monitor
- Újszerű, hibátlan Fossil ES3433 női fémszíjas quartz óra - Még 1 év magyar bolti garival! -
- Phantom gaming 6900XT dobozos.
- Xiaomi Redmi Note 11 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Új, Aktiválatlan, iPhone 15 (128 GB) (rendelhető)
- iPhone 16 Pro 128GB Desert Titanium -1 ÉV GARANCIA - Kártyafüggetlen
- Bomba ár! Lenovo X13 Yoga G1 - i5-10G I 8GB I 256SSD I 13,3" FHD Touch I Cam I W11 I Gari!
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3958
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


