0% found this document useful (0 votes)
14 views

Referat Laborator 4

The document discusses Java classes, inheritance, polymorphism, arrays, and the Object class. It provides examples of defining parent and child classes, using constructors, overriding the toString() method, and comparing objects. The examples demonstrate creating objects from different classes, calling methods on them like toString(), and comparing objects by reference versus value.

Uploaded by

Momo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Referat Laborator 4

The document discusses Java classes, inheritance, polymorphism, arrays, and the Object class. It provides examples of defining parent and child classes, using constructors, overriding the toString() method, and comparing objects. The examples demonstrate creating objects from different classes, calling methods on them like toString(), and comparing objects by reference versus value.

Uploaded by

Momo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Obiective

Tipul referinţă;
Clase, câmpuri, metode;
Constructori;
Moştenirea şi polimorfismul;
Pachete de clase;
Pachetul java.lang;
Clase: Class, Math, System;
Tablouri uni şi bi-dimensionale;
Exemplu ClasaParinte.java, ClasaCopil.java, TestConstructori.java
class ClasaParinte{
int i; char c;
/*ClasaParinte(){
i=3; c='r';
}*/
public String toString(){
return "ClasaParinte="+i+" "+c;
}
public static void main(String args[]){
ClasaParinte p1,p2;
p1=new ClasaParinte(); p2=new ClasaParinte();
System.out.println("p1="+p1);
System.out.println("p2="+p2);
}
}

public class ClasaCopil extends ClasaParinte{


double d;
public String toString(){
return "Clasa copil"+super.toString()+" "+d;
}
}

public class TestConstructori{


public static void main(String args[]){
ClasaParinte p1,p2;
ClasaCopil c1;
p1=new ClasaParinte();
p2=new ClasaParinte();
c1=new ClasaCopil();
Object ob1= new ClasaCopil();
System.out.println("p1="+p1);
System.out.println("p2="+p2);
System.out.println("c1="+c1);
System.out.println("ob1="+ob1);
}
}
Exemplu: parametri în linia de comandă
class Parametri {
public static void main(String args[]){
if(args.length==0)
System.out.println(“fara parametri in linia de comanda");
else {
System.out.println("Aplicatia are urmatorii parametri:);
for(int i=0; i<args.length;i++)
System.out.println(args[i]);
}
}
}

Exemplu TestObject.java testarea clasei Object


import java.util.*;

class TestObject {
public static void main(String argv[]) {
Object ob1=new Object(), ob2=new String("ABCD"), ob3="abcd", ob4=ob2;
Object ob5=new Object(), ob6=ob5;
String str1="ABCD", str2=str1;
System.out.println("ob1="+ob1);
System.out.println("ob2="+ob2);
System.out.println("ob3="+ob3);
System.out.println("str1="+str1);
System.out.println("Coduri de dispersie:");
System.out.println("ob1: "+ob1.hashCode());
System.out.println("ob5: "+ob5.hashCode());
System.out.println("ob2: "+ob2.hashCode());
System.out.println("str1: "+str1.hashCode());
System.out.println("ob4: "+ob4.hashCode());
System.out.println("ob3: "+ob3.hashCode());
System.out.println("Testarea egalitatii prin == si prin equals():");

/* In clasa Object operatorul == si metoda equals() sunt echivalente */


System.out.println("ob1==ob5: "+(ob1==ob5)+" ob1.equals(ob5): "+ (ob1.equals(ob5)));
System.out.println("ob5==ob6: "+(ob5==ob6)+" ob5.equals(ob6): "+
(ob5.equals(ob6)));

/* Pentru obiecte din clasa String operatorul == testeaza egalitatea referintelor, in timp ce metoda equals()
testeaza egalitatea continutului“ */
System.out.println("ob2==ob4: "+(ob2==ob4)+" ob2.equals(ob4): "+
(ob2.equals(ob4)));
System.out.println("ob2==str1: "+(ob2==str1)+" ob2.equals(str1): "+
(ob2.equals(str1)));
System.out.println("ob2==ob3: "+(ob2==ob3)+" ob2.equals(ob3): "+
(ob2.equals(ob3)));

/* Aplicarea metodei toString() obiectelor din clasa Object */


System.out.println("Aplicarea metodei toString(): ");
System.out.println("pentru ob1: "+ob1.toString());

/* Aplicarea metodei toString() obiectelor din clasa String intoarce


chiar sirul pe care acestea il contin */
System.out.println("pentru ob2: "+ob2.toString());
System.out.println("pentru ob3: "+ob3.toString());
System.out.println("pentru str1: "+str1.toString());

/* De altfel, daca un obiect apare ca argument in metoda print() sau println(), aplicarea conversia lui in sir
(deci aplicarea metodei toString() se face in mod implicit */
System.out.println(ob1); System.out.println(ob2);
System.out.println(ob3); System.out.println(str1);

/* Unei variabile din clasa Object i se poate atribui o referinta la un obiect din clasa String, deci
instructiunea urmatoare nu produce o
eroare de compilare */
ob1=str2;

/* Unei variabile din clasa String nu i se poate atribui o referinta la un obiect din clasa Object. In consecinta,
daca se elimina // din
linia de program urmatoare, apare o eroare la compilare */
// str1=ob2;
/* Daca insa suntem siguri ca variabila ob2 din clasa Object contine in realitate o referinta la un obiect din
clasa String (asa cum este cazul in situatia de fata) putem cere o conversie explicita de la Object la String. Din
aceasta cauza, instructiunea urmatoare nu mai constituie o eroare */
str1=(String)ob2;

/* Aplicarea metodei getClass() */


System.out.println("ob5: "+ob5.getClass()); System.out.println("ob2: "+ob2.getClass());
System.out.println("str1: "+str1.getClass());
}
}
Exemplu librarie
ProdPatetarie.java
package librarie;

class ProdPapetarie{
String nume;
float pret;
String culoare;

ProdPapetarie(){
nume="nimic";
pret=0.0f;
culoare="negru";
}
public String toString(){
return "Produs - "+nume+" costa "+pret+" are culoarea "+culoare;
}
}
Stilou.java
package librarie;

class Stilou extends ProdPapetarie{


boolean rezerva;
String marca;

Stilou(){
super();
rezerva=true;
marca="oricare";
}
public String toString(){
return super.toString()+"\n \t"+marca+" "+rezerva+" are rezerva";
}
}
TestLibrarie.java
package librarie;
class TestLibrarie{
public static void main(String[] args){
ProdPapetarie p1,p2,p3;
Stilou s1,s2;
p1=new ProdPapetarie();
s1=new Stilou();
System.out.println(p1);
System.out.println(s1);
}
}

You might also like