Anexa 1

Și, de asemenea
Greșeli comune
Întrebare: Există vreo variabilă globală în Java?
Răspuns: Nu există variabile globale în Java. Cel mai apropiat lucru cu proprietățile variabilelor globale este variabilele de clasă statice. Acestea sunt accesate prin numele clasei, de exemplu, Math.PI.

Întrebare: Pot folosi clase interioare în Java.
Răspuns: Poți. În acest caz, numele fișierului de clasă internă după compilare va arăta astfel: Clasa externă $ InternalClass.class.

Întrebare: Cum în Java sunt parametrii parcurși funcției - prin valoare, prin pointer sau prin referință?
Răspuns: Parametrii tipurilor standard sunt trecuți prin valoare. Obiecte - prin referință. Nu există transfer pentru pointer în Java.

Întrebare: Dacă nu există indicii în Java, atunci uneori este aruncat un NullPointerException.
Răspuns: Indicatorii din Java sunt "la nivelul inferior" - la nivelul mașinii virtuale. Pentru programatori, nu există acces la ele. Un NullPointerException este aruncat dacă un obiect inexistent este accesat (adică, variabila a fost declarată și obiectul nu a fost creat). De exemplu:
String s;
int n = s.length ();

Întrebare: De ce în limba Java. care are o nouă operație de alocare a memoriei. nu există nici o operație de ștergere a memoriei. ca, de exemplu, în C ++.
Răspuns: În limba Java, programatorul este eliberat de necesitatea de a gestiona independent memoria. Pentru a stoca obiecte aici este asignată o anumită locație de memorie, numită heap. Dimensiunea haldei este limitată. Mașina virtuală Java efectuează colectarea automată a gunoiului - procesul de returnare a memoriei ocupate de obiecte care nu mai sunt necesare pentru sistem și pregătirea pentru utilizarea de către obiecte noi. Nu există nici o modalitate de a apela colectorul de gunoi. Un programator poate trimite doar o cerere pentru a începe colectarea de gunoi folosind metoda gc a obiectului System. De fapt, colectarea gunoiului se va întâmpla într-un moment convenabil pentru sistem.

Întrebare: Este posibil să se override operațiile de +, -, *,%, etc. în Java?
Răspuns: Este imposibil. Excepția se face numai pentru operația +, care este definită pentru clasa String și este o concatenare șir.

Întrebare: Cum pot afișa o imagine dintr-un fișier imagine într-un applet?
Răspuns: Clasa imagine este utilizată pentru a lucra cu fișiere grafice.
  • În primul rând, trebuie să declarați o variabilă:
  • În al doilea rând, încărcați o imagine:
  • În al treilea rând, afișați imaginea pe ecran utilizând contextul grafic:

Întrebare: Cum pot afișa o imagine dintr-un fișier grafic într-o aplicație de ferestre?
Răspuns: Acest lucru se face utilizând clasa Imagine. ca în cazul applet-ului. Particularitatea este că, spre deosebire de clasa Applet. în care este implementată metoda getImage. permițând încărcarea unei imagini dintr-un fișier dat, clasele Frame sau Window nu au astfel de metode. Această sarcină poate fi rezolvată cu ajutorul unui obiect din clasa Toolkit (mediul de lucru).
Toolkit toolkit = Toolkit.getDefaultTookit ();
După aceasta, puteți descărca imaginea din fișierul specificat, de exemplu, după cum urmează:
Imagine im = toolkit.getImage ("example.gif");
Rezultatul im poate fi acum încărcat în panza pentru o plasare ulterioară în fereastră. Apropo, atunci când plasați panza folosind managerul de dispunere BorderLayout, pânza trebuie plasată în centru. În caz contrar, panza nu va fi vizibilă în fereastră. Întrebare: Cum să eviți "pâlpâirea" cu repetarea frecventă a imaginii în applet?
Răspuns: În acest caz, se folosește adesea tehnologia "ferestrei virtuale". În acest scop, se folosește clasa BufferedImage. care permite în memoria RAM să creeze o "fereastră virtuală", în care să se producă toate informațiile de ieșire. La anumite momente, imaginea trebuie copiată în fereastra reală. Astfel, secvența de lucru va fi după cum urmează:
  • Conectăm pachetul necesar
  • În clasa de aplicații introducem noi variabile:
  • În metoda init a applet-ului, trebuie să creați o fereastră virtuală și un context grafic compatibil:
  • Mai mult, toate ieșirile se fac în contextul imaginii. de exemplu,
  • În momentul în care trebuie să transferați conținutul ferestrei virtuale în fereastra reală, următoarea funcție este apelată pentru contextul ferestrei reale din metoda vopselei de la aplet
  • Și, în sfârșit, secretul principal este să suprascrieți metoda update (). De fapt, chiar dacă nu ați inclus această metodă în programul dvs., este deja acolo (implicit) - și tot ce face este să curățați ecranul înainte de redraw. Dar vom inlocui in intregime intregul cadru, astfel incat curatarea imaginii ecranului nu este necesara. Și chiar dăunător - pentru că va cauza pâlpâiri (deoarece ecranul va fi mai întâi curățat și numai atunci va fi umplut cu un nou cadru). Și pentru a scăpa de acest lucru, redefinim metoda după cum urmează:
    Întrebare: Cum se fac servlet-uri și script-uri JSP să genereze corect cod HTML care conține litere rusești?
    Răspuns: Servletul vă cere să setați codificarea datelor trimise clientului: În cazul în care lucrați cu un script JSP, trebuie să includeți următorul rând în script:
    Întrebare: Cum se fac servlet-urile și scenariile JSP să trimită corect scrisori rusești din formularul HTML?
    Răspuns: Parametrii din formularul HTML sunt de obicei transmiși în codarea "ISO-8859-1". Prin urmare, după primirea parametrului, acesta trebuie recodificat, de exemplu, în codarea "Cp1251". Această transcodare este efectuată de unul dintre constructorii din clasa String. de exemplu:
    Greșeli comune

Nu uita. că atunci când creați o clasă Applet derivată din Applet. trebuie să aibă un tip de acces public și un nume care să corespundă numelui fișierului.

Nu uitați să creați în mod explicit obiecte cu noua comandă. În unele cazuri, obiectele sunt create implicit - de exemplu, când se atribuie:
String s = "Învățarea Java";
sau în cadrul unei anumite funcții:
Grafica g = getGraphics ();
În toate celelalte cazuri, utilizați noua comandă. Un apel către un obiect inexistent va arunca un NullPointerException

Nu uitați, dacă utilizați pachete non-standard, conectați-le în mod explicit sau implicit la JDK. Există două abordări:
  • Pachetul trebuie plasat în directorul de extensii JRE. și anume în C: \ j2sdk1.4.0 \ jre \ lib \ ext;
  • sau puteți pune acest fișier în orice director și îl puteți conecta la proprietățile JCreator. Alegeți meniul "Configurare" - "Opțiuni". apoi linia "JDK Profiles". selectați profilul și faceți clic pe butonul "Editare". Apoi, în fereastra care apare, adăugați arhiva sau directorul dorit.

Articole similare