Hirdetés
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Apple asztali gépek
- Melyik tápegységet vegyem?
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- Milyen széket vegyek?
- Nem indul és mi a baja a gépemnek topik
- Bluetooth hangszórók
- Házimozi belépő szinten
- Fokozatosan erősít majd a szerverpiacon az Intel
- E-book olvasók
- Gaming notebook topik
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
Zsu_
senior tag
-
Zsu_
senior tag
Sziasztok,
Van egy HTML formom és ehhez szeretnék egy JSP feldolgozót, ami annyit csinál, hogy menti a formba begépelt adatokat egy txt fileba a szerverre.
Tud valaki segíteni?
Köszi!
-
Zsu_
senior tag
Sziasztok!
Nincs valakinek egy kis java progija (esetleg kivételkezeléssel), ami bekér a felhasználótól pár adatot és azt menti egy egyszerű txt fileba.
Át tudna nekem küldeni valaki ilyesmi kis programocskát?
Köszi! -
Zsu_
senior tag
Nem, a hosszú sorok Java-ban is szintaktikailag helyesek. Ami nincs: goto, illetve azok a hosszú nevű azonosítók.
Szumma: ez nem java, csak valami zombi/mutáns.
mod: ilyen formában ez egy programrészlet, azok a hosszú azonosítók lehetnek korábban deklarált változók, stb. Mondjuk érdekes az a return ott a közepén. Goto tényleg nincs.
[Szerkesztve]mail ment pár nappal ezelőtt...

-
Zsu_
senior tag
-
Zsu_
senior tag
Nyugodtan

Bár úgy látom, hogy a kérdéseidre kifejtettem már a választ, csak nem pont ezekkel a példákkal... na lássuk:
1. A hiba valóban az, hogy oda kell a static, ugyanis (ahogy már leírtam): tetszőleges osztályban definiált static függvény osztálypéldány nélkül hívható. Ez azt jelenti, hogy nem tud hozzáférni (nem ''látható'' a függvény törzséből) semmilyen nem-static osztályváltozó. A nem-static belső osztályokra ez a szabály azért vonatkozik (tehát nem tud létrehozni olyan belső osztály típusú objektumot), mert a nem-static belső osztályok példányainak alapból rendelkezniük kell referenciával a külső osztályuk (amiben definiáltad a belső osztályt) egy példányára. Méghozzá pontosan arra, amely teremtette őket.
A belső osztály példány referenciája a külsőre úgy néz ki, hogy A.this (ha A a külső osztály neve). Remélem összeállt...
2. két lehetőség: nem kell static a B osztály elé, vagy éppen static kell az int a elé.
A szabály ugyanaz, mint az előbb: mivel a belső osztály statikus, nem kötődik külső oszályhoz, így a belső példány nem is rendelkezik információval (referenciával) az ő bennfoglaló objektumáról, ami ha a staticot eltöröljük, az A osztály egy példánya lenne.
Így a
a = aa;
sorban nem tud hozzáférni az 'a' változóhoz, ugyanis a szimbólumtáblázat látható részében (hogymondják szépen magyarul azt, hogy scope?
) nincs ilyen változó!
Ugye amikor azt írod hogy 'a', ebben az esetben prioritási sorrendben így tud feloldódni a jelentése:
1) lokális blokkban ({ } közötti utasítások) lévő változók
2) szülő blokkban lévők
3) rekurzívan a függvény fejlécig, itt a fgv paraméterek jönnek be
4) osztályváltozók (ez az ami ilyen bonyi szabályokkal írható le, ahogy eddig tettem)
Az utóbbinál az 'a' szimbólum ekvivalens a 'this.a'-val, amennyiben a belső rendelkezik nem-static 'a' nevű változóval; továbbá ekvivalens 'Belsoosztaly.a'-val, ha rendelkezik static 'a' nevű változóval.
Van egy ''5.'' szint, amennyiben egy belső osztályban használt változóról van szó. Ilyenkor az 1-es ponttól oldjuk fel ismét rekurzívan attól a helytől kezdve, ahol az osztályt definiáltad... így lesz az 'a'-ból 'Kulsoosztaly.this.a', ha a belső osztály nem static és a a Kulsoosztaly rendelkezik nem static 'a' változóval, a static szintaxis meg egyenlő a fentivel, tehát a 'Kulsoosztaly.a' static(!) változó mindenhonnan hozzáférhető, akár static, akár nem a belső osztály.
Hmmm... remélem érthető
[Szerkesztve]Tyűha! Köszi

Azt hiszem értem, de ez majd a zh-n kiderül... -
Zsu_
senior tag
köszönöm a kielégítő választ

Kérdezhetnék még egy konkrétat is?
1.
Mi a hiba az alábbi forráskódban?
public class Application {
class Vector { double m_x, m_y; Vector(double x, double y) { m_x = x; m_y = y; } }
public static void main (String[] args) { Vector v = new Vector(0.0, 0.0); }
}
Fordítóval kipróbáltam, hogy az a hiba, hogy a class Vector elé kell a static szó.
De miért? nem igazán értem.
2.
Mi a hiba az alábbi forráskódban?
class A { int a;
static class B {
B(int aa) { a = aa; }
}
}
Itt pedig az a hiba, hogy nem kell a static a class B elé. De ennek sem igazán értem a miértjét...
Hálás lennék, ha elmagyaráznád!
Előre is köszi
up
sürgős lenne
csak mert holnap zh... -
Zsu_
senior tag
Kiegészíteném a nem-static belső class-ról mondottakat azzal, hogy példányosíthatóak kívülről, amennyiben a new operátor egy kevéssé szokásos szintaxisát használjuk.
pl. legyen:
class A {
int a;
class B {
void ezmuxik() {
// itt hivatkozunk a kulso osztalyra! Ehelyett irhatunk a++;-t, ha az egyertelmu.
A.this.a++;
}
}
}
Van egy másik osztály, mely ezt csinálja:
class C {
void f() {
// hibas! ''no enclosing instance of A''
new A.B();
// gyartunk egy A-t
A a_peldany=new A();
// explicit megadhato az enclosing instance!
A.B ab_peldany=a_peldany.new B();
}
}
Na kezd teljes lenni a dolog. Remélem érthető.köszönöm a kielégítő választ

Kérdezhetnék még egy konkrétat is?
1.
Mi a hiba az alábbi forráskódban?
public class Application {
class Vector { double m_x, m_y; Vector(double x, double y) { m_x = x; m_y = y; } }
public static void main (String[] args) { Vector v = new Vector(0.0, 0.0); }
}
Fordítóval kipróbáltam, hogy az a hiba, hogy a class Vector elé kell a static szó.
De miért? nem igazán értem.
2.
Mi a hiba az alábbi forráskódban?
class A { int a;
static class B {
B(int aa) { a = aa; }
}
}
Itt pedig az a hiba, hogy nem kell a static a class B elé. De ennek sem igazán értem a miértjét...
Hálás lennék, ha elmagyaráznád!
Előre is köszi
-
Zsu_
senior tag
Sziasztok!
A ''static'' kulcsszóról mit tudtok?
Mikor kell, mikor használjuk, stb...?
Tehát pl
- static class Name
Előre is köszi az infókat! -
Zsu_
senior tag
-
Zsu_
senior tag
-
Zsu_
senior tag
Írt valaki javaban snake játékot? (application)
Új hozzászólás Aktív témák
-
Fórumok
PROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Realme GT 7 Pro 5G Mars Orange 12/256GB használt karcmentes 6 hónap garancia
- Eladó Samsung Galaxy A50 4/128GB kék / 12 hónap jótállás
- GYÖNYÖRŰ iPhone 14 Pro Max 512GB Silver -2 ÉV GARANCIA - Kártyafüggetlen, MS5367
- HIBÁTLAN iPhone 15 128GB Green -2 ÉV GARANCIA - Kártyafüggetlen,MS5278
- 2000GB NVMe SSD, 1 év gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest







