Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» Initializare si cleanup


Initializare si cleanup


Initializare si cleanup

Supraincarcarea metodelor:

In Java este permisa folosirea aceluiasi nume pentru mai multe metode si pentru definirea mai multor constructori pentru o clasa.

Diferentierea intre metodele cu acelasi nume se face dupa urmaroarele reguli:

Se diferentiaza prin intermediul listei de parametri ai metodei.



Ca sa fie distincte, 2 metode cu acelasi nume trebuie sa aiba un numar de parametri diferot sau tipuri diferite de parametri.

Se poate ca 2 metode sa aiba acelasi nume si numar egal de parametri dar tipul parametrilor trebuie sa fie diferit sau, se poate sa aiba acelasi nume, acelasi numar de parametri si aceleasi tipiri ale parametrilor, dar pozitia parametrilor in lista trebuie sa fie diferita.

Nu se face diferenta intre doua metode cu acelasi nume si aceeasi lista de parametri dar cu tip de return diferit.

Ex:

public int min(int a, int b)

public double min(double a, double b)

Constuctori:

Constructorii sunt metode speciale in definirea unei clase care se folosesc la crearea si instantierea obiectelor.

Numele constructorului unei clase trebuie sa fie identic cu numele clasei.

Si in cazul constructorilor se permite supraincarcarea. Diferentierea se face tot prin intermediul listei de parametri.

In cazul in care nu se specifica un constructor pentru o clasa, java ofera un constructor implicit, un constructor fara parametric, care realizeaza instantierea atributelor clasei la valori implicite. In cazul atributelor de tip obiect valoarea implicita este null, cuvant cheie ce caracterizeaza lipsa referintei.

this:

Cuvant cheie ce poate fi apelat doar in interiorul unei metode si este folosit pentru a face referinta la obiectul curent pentru care este apelata metoda.

Ex:

public class Flower

Folosit in interiorul unui constructor, this face apel la un alt constructor al clasei si are o lista de parametri apeland acel constructor al clasei care corespunde listei de parametri. In acest caz this se poate apela doar o data in interiorul unui constructor.

Ex:

public class Flower

Flower(String ss)

Flower(String s, int petals)

Flower()

void print()

public static void main(String[] args)

static:

Folosit pentru o metoda definita intr-o clasa, permite apelarea acelei metode fara a avea nevoie de un obiect instanta a clasei respective.

Ex:

class Clasa

public static void main(String[] args)

Nu se permite apelul unei metode nestatice din interiorul unei metode statice, dar se permite apelul unei metode statice in interiorul unei metode nestatice.

Datele declarate statice in interiorul unei clase sunt impartite intre toate obiectele instante ale clasei respentive. Adica, toate obiectele au acces la aceeasi informatie (acceasi variabila) indiferent de numarul de obiecte.

Datele statice se initializeaza o singura data, cand se creaza prima instanta a clasei, si numai daca este necesar.

Datele statice sunt primele care se instantiaza in interiorul unei clase, daca nu au fost instantiate de un obiect anterior.

Ex:

variabile statica:

static int a, b;

static String s;

Instantierea variabilelor statice se poate face intr-un blodc static:

static

Garbage collection:

Mecanism de eliberare a memoriei alocate obiectelor ce nu se mai utilizeaaza.

Cand se apeleaza mecanismul de garbage collection (colectare a gunoaielor) se apeleaza prima data metoda finalize() si apoi se elibereaza memoria.

Pentru a realiza anumite actiouni inainte de eliberarea memoriei unui obiect se poate suprascrie metoda finalize() in clasa definita de programator.

Metoda finalize se suprascrie astfel:

public void finalize()

Mecanismul de garbage collection se apeleaza automat de catre masina virtuala Java cand aceasta ramane fara memorie, insa exista si posibilitatea de fortare a apelarii mecanismului prin urmatoarea instructiune:

System.gc();

sau

System.runFinalization();

Arrays:

- mai multe elemente de acelai tip manevrate printr-o singura variabila.

Ex:

Declarare:

int[] a;

este acelasi lucru cu

int a[];

Declarare si instantiere:

int[] a = ;

int[][] a = ,

,

}

Determinarea numarului de elemente ale unui array:

int nrElem = a.length;

Alocarea de spatiu pentru un array unidimensional:

int[] a = new int[10];

Indexarea se face de la la a.length - 1

Declararea unei matrici(array bidimensional):

int[][] a = new int[10][];

for (int i = 0; i < a.length; i++)

Declararea unui array tridimensional:

int[][][] a = new int[10][][];

for (int i = 0; i < a.length; i++)

Afisarea unui array tridimensional:

for (int i = 0; i < a.length; i++)

Generarea de numere aleatoare se poate realiza prin intermediul clasei Random din pachetul java.util, prin metodele de genul: nextInt(),nextDouble(), .

sau prin intermediul metodei Math.random() din pachetul java.lang

Importarea unui pachet se face prin instructiunea import.

Ex :

import java.util.*; - importa toate clasele din pachetul java.util

import java.util.Random; - importa clasa Random din pachetiul java.util

OBS: In orice program Java pachetul java.lang este importat implicit, deci nu este nevoie de instructiunea import java.lang.*;

Ex generare nr aleatoare de la 0 la 25:

import java.util.Random;

public class Nr

//genereaza 20 de numere aleatoare intre 0 si 24





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate