The document defines several Java classes including Student, Page, Book, Library, Animal, Dog, Snake, and Test classes. It demonstrates inheritance, polymorphism, interfaces, inner classes, generics, and collections. Singleton and pizza classes with subclasses are also defined to showcase inheritance and wildcards.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
74 views32 pages
String: Class Private Public
The document defines several Java classes including Student, Page, Book, Library, Animal, Dog, Snake, and Test classes. It demonstrates inheritance, polymorphism, interfaces, inner classes, generics, and collections. Singleton and pizza classes with subclasses are also defined to showcase inheritance and wildcards.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 32
class Student {
private String name;
public int averageGrade;
// (1) constructor fr parametri public Student() { name = "Necunoscut"; averageGrade = 5; }
// (2) constructor cu 2 parametri, folosit dac cunoatem numele i media public Student(String n, int avg) { name = n; averageGrade = avg; }
// (3) constructor cu un singur parametru, folosit atunci cnd cunoatem doar numele studentului public Student(String n) { this(n, 5); // Astfel, se va apela constructorul (2) }
// (4) metoda set pentru cmpul name al clasei Student public void setName(String n) { name = n; averageGrade = 5; }
// () metoda getter pentru cmpul name public String getName() { return name; } } class Page { private String content; public int no;
public Page(String c, int no) { tis!content = c; tis!no = no; } }
class 7ero e8tends /ction3aracter implements 3an4igt, 3anS)im, 3an4l' { public void s)im() {}
public void 6'() {} }
public class /dventure { static void t(3an4igt 8) { 8!5gt(); }
static void u(3anS)im 8) { 8!s)im(); }
static void v(3an4l' 8) { 8!6'(); }
static void )(/ction3aracter 8) { 8!5gt(); }
public static void main(String$% args) {
7ero = ne) 7ero();
t(); // %reat it as a &an'ig(t
u(); // %reat it as a &anS$im
v(); // %reat it as a &an'l#
)(); // %reat it as an Action&(aracter } } class 9uter { class :nner { private int i; public :nner (int i) { tis!i = i; } public int value () { return i; } }
public :nner get:nner:nstance () { :nner in = ne) :nner (..); return in; } }
public class 1est { public static void main(String$% args) { 9uter out = ne) 9uter ();
9uter!:nner in. = out!get:nner:nstance(); 9uter!:nner in2 = out!ne) :nner(.+);
S'stem!out!println(in.!value()); S'stem!out!println(in2!value()); }} inter*ace 7idden { public int value(); }
class 9uter { private class 7idden:nner implements 7idden { private int i; public 7idden:nner (int i) { tis!i = i; } public int value () { return i; } }
public 7idden get:nner:nstance () { 7idden:nner in = ne) 7idden:nner(..); return in; } }
public class 1est { public static void main(String$% args) { 9uter out = ne) 9uter();
9uter!7idden:nner in. = out!get:nner:nstance(); // va genera eroare, tipul )uter*+idden,nner nu este vi-i!il 9uter!7idden:nner in2 = ne) 9uter()!ne) 7idden:nner(.+); // din nou eroare
7idden in; = out!get:nner:nstance(); // acces corect la o instanta +idden,nner S'stem!out!println(in;!value()); } } inter*ace 7idden { public int value (); }
class 9uter { public 7idden get:nner:nstance(int i) { i* (i == ..) { class "loc#:nner implements 7idden { private int i = ..;
public int value() { return i; } }
return ne) "loc#:nner(); }
return null; } } inter*ace 7idden { public int value(); }
class 9uter { public 7idden get:nner:nstance(int i) { return ne) 7idden() { private int i = ..; public int value() { return i; } }; } }
public class 1est { public static void main(String$% args) { 9uter out = ne) 9uter();
7idden in; = out!get:nner:nstance(..); S'stem!out!println(in;!value()); } } class 9uter {
public int outer<ember = =;
class NonStatic:nner { private int i = .; public int value() { return i - 9uter!tis!outer<ember; // )., putem accesa un mem!ru al clasei e/terioare } }
static class Static:nner { public int # = ==; public int value() { # -= outer<ember; // 01)A10, nu putem accesa un mem!ru nestatic al clasei e/terioare return #; } } }
public class 1est {
public static void main(String$% args) { 9uter out = ne) 9uter ();
9uter!NonStatic:nner nonSt = out!ne) NonStatic:nner(); // instantiere &)10&%A pt o clasa nestatica 9uter!Static:nner st = out!ne) Static:nner(); // instantiere ,2&)10&%A a clasei statice 9uter!Static:nner st2 = ne) 9uter!Static:nner(); // instantiere &)10&%A a clasei statice } } class 0it:nner { class :nner { public void metod() { S'stem!out!println(": am :nner>s metod"); } } }
class :nerit:nner e8tends 0it:nner!:nner {
:nerit:nner() {} // 01)A10, avem nevoie de o legatura la o!iectul clasei e/terioare :nerit:nner(0it:nner )i) { // ). )i!super(); } }
public class 1est { public static void main(String$% args) { 0it:nner )i = ne) 0it:nner(); :nerit:nner ii = ne) :nerit:nner()i); ii!metod(); } } 3ollection c = ne) /rra'&ist(); :terator it = c!iterator();
)ile (it!asNe8t()) { //veri3cari asupra elementului curent" it*ne/t()4 it!remove(); } 3ollection collection = ne) /rra'&ist(); *or (9b?ect o @ collection) S'stem!out!println(o); class Student { String name; // numele studentului 6oat avg; // media