of 39 /39
JAVA- wykład 2 Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 C. S. Horstmann, G. Cornell, Java. Podstawy, Helion, Gliwice 2008 A. Zoła, Programowanie w języku Java, 2004 http://fatcat.ftj.agh.edu.pl/~palka/public/java_pl.pdf

JAVA- wykład 2

  • Author
    others

  • View
    3

  • Download
    0

Embed Size (px)

Text of JAVA- wykład 2

Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014
C. S. Horstmann, G. Cornell, Java. Podstawy, Helion, Gliwice 2008
A. Zoa, Programowanie w jzyku Java, 2004 http://fatcat.ftj.agh.edu.pl/~palka/public/java_pl.pdf
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 2
1. Klasy i obiekty w Javie Definiowanie klasy jest równoznaczne z tworzeniem wzorca (przepisu) danego obiektu, który umoliwia tworzenie obiektów tej klasy.
[atrybutyDostepu] class NazwaKlasy [extends NazwaNadklasy] [implements NazwyInterfejsów]
{//ciao klasy tj.
//definicje skadowych klasy:
}
public (publiczny)-moliwo dostpu z dowolnej klasy
protected (chroniony)-moliwo dostpu z kadej klasy pochodnej lub klas nalecych do tego samego pakietu
private (prywatny)-moliwo dostpu wycznie w danej klasie
dostp domylny (bez podanego specyfikatora dostpu)- moliwo dostpu wycznie z klas nalecych do tego samego pakietu
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 3
POLA UWAGA: w pliku ródowym moe wystpowa tylko jedna klasa
publiczna i jeli wystpuje, to plik musi mie tak sam nazw jak ta klasa, z uwzgldnieniem wielkoci liter.
W ciele klasy definiowane s skadniki klasy, tj. zmienne (pola) i metody. Pola okrelaj z jakich elementów skadaj si poszczególne obiekty klasy, za metody okrelaj dziaania, które mona na nich wykonywa.
DEFINIOWANIE PÓL KLASY
Przykad
METODY
Przy tworzeniu obiektów pola klasy zawsze uzyskuj pocztkowe, domylne wartoci (zerowe)
DEFINIOWANIE METOD KLASY
[public ]class NazwaKlasy{
}
}
METODY
Lista parametrów zawiera rozdzielone przecinkami deklaracje parametrów, które metoda otrzymuje przy wywoaniu.
Jeli metoda zwraca wynik, to w definicji okrelamy konkretny typ_wyniku i zakoczenie jej dziaania powinno nastpi na skutek instrukcji return [wyraenie]; zwracajcej dane typu_wyniku, jeli nie zwraca adnego wyniku, to jej typ_wyniku okrelamy sowem kluczowym void (zakoczenie metody nastpuje po dotarciu do ostatniego nawiasu „}” lub” instrukcji return;).
W Javie argumenty przekazywane s metodom wycznie przez warto, tj. w metodzie odwoujemy si do kopii argumentu.
Metody statyczne (static) nie s wywoywane na rzecz obiektów, mog zatem by wywoywane nawet, gdy nie istnieje aden obiekt danej klasy.
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 6
KONSTRUKTORY Konstruktor suy gównie do inicjowania wartoci pól obiektów.
Konstruktor ma nazw jak nazwa klasy i nie ma adnego typu wyniku.
DEFINIOWANIE KONSTRUKTORÓW
Konstruktory zawsze s wywoywane za pomoc wyraenia new : NazwaKlasy tworzonyObiekt = new NazwaKlasy(parametryKonstruktora)
Jeli w klasie nie zdefiniowano adnego konstruktora, to do definicji klasy automatycznie dodawany jest konstruktor bezparametrowy (który nie robi nic).
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 7
KONSTRUKTORY c.d.
a=x;b=y;//nadaje polom a i b, wartoci
//przekazane jako argumenty konstruktora
}
}
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 8
SKADOWE STATYCZNE
Skadowe (pola i metody) niestatyczne (instancyjne) zawsze wi si z istnieniem obiektu danej klasy
Skadowe statyczne (klasowe) tzn. ze specyfikatorem static
nie dotycz obiektów, ale caej klasy – s wspólne dla wszystkich obiektów tej klasy
mog by uywane nawet wtedy, gdy nie istnieje aden obiekt klasy
do skadowych statycznych odwoujemy si NazwaKlasy.nazwaSkadowej
PRZYKADY
metoda main – musi by statyczna poniewa od niej zaczyna si wykonywanie programu, a w tym momencie nie istnieje jeszcze aden obiekt.
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 9
SKADOWE STATYCZNE c.d.
W klasie System (dostarczanej jako klasa standardowa) jest staa statyczna out (obiekt klasy PrintStream oznaczajcy standardowe wyjcie)
public class System{
. . .
}
W klasie PrintStream (jedna z klas standardowych) zdefiniowane s metody println, wypisujce do strumienia wyjciowego -PrintStream podane argumenty
public class PrintStream{
SKADOWE STATYCZNE c.d.
println to metoda uywana na rzecz tego obiektu
Std: System.out.println(String s)
UWAGI:
Pola niestatyczne (instancyjne) istniej w kadym obiekcie klasy, natomiast dla pól statycznych (klasowych) przydzielany jest tylko jeden obszar pamici na ca klas
Z metod statycznych nie wolno odwoywa si do niestatycznych skadowych klasy (gdy obiekt moe nie istnie)
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 11
PRZECIANIE METOD Przecianie metod i konstruktorów polega na definiowaniu metod o
tej samej nazwie, ale rónicych si liczb i/lub typami argumentów np. metoda println() ma bardzo wiele wersji z argumentami rónych typów.
PRZYKAD dla klasy Para o prywatnych polach int a,b
void add(Para p)//dodaje do pary, na rzecz
//której wywoano metod, par p
void add(int i)//do obu pól pary dodaje podan liczb
void add(int x, int y)//pierwszy argument dodaje do
//1-go sk. Pary, a 2-gi do 2-go
UWAGA: Naley specyfikowa parametry o radykalnie rónych typach (aby unikn pomyek wynikajcych z automatycznej konwersji typów) np. dla dwóch metod o tej samej nazwie z parametrami int i short, próba wywoania metody z parametrem char spowoduje wywoanie metody z parametrem int
Nie istnieje moliwo deklarowania metod o tej samej nazwie, sygnaturze, ale o ronym typie wyniku.
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 12
PRZECIANIE KONSTRUKTORÓW
Analogicznie moemy przecia konstruktory, czyli w jednej klasie moemy mie konstruktory z rónymi parametrami. Aby nie powtarza wspólnego kodu w rónych konstruktorach wygodnie jest wywoywa konstruktor w innym konstruktorze. Do takich wywoa uywamy sowa kluczowego this().
PRZYKAD
public Para(int x){
OBIEKTY I REFERENCJE
public class Para{
private int a,b;
public Para(){}//konstruktor bezparametrowy
a=x;b=y;
a=x;b=y;
OBIEKTY I REFERENCJE
p.set(1,2);
p.show();
Obiekt musi by utworzony za pomoc wyraenia new (Sama deklaracja np. Para p; nie wystarcza). Dopiero zastosowanie wyraenia new powoduje przydzielenie pamici dla obiektu (na stercie). Wynikiem tego wyraenia jest adres miejsca w pamici przydzielonego obiektowi – referencja. Zatem zmienna p z przykadu zawiera referencj do obiektu klasy Para.
Wszystkie zmienne deklarowane z nazw klasy w miejscu nazwy typu s zmiennymi typu referencyjnego (zawieraj referencje do obiektów lub null).
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 15
OBIEKTY I REFERENCJE
– Porównywa referencj ( == lub !=)
Operacje wykonywane na zmiennych obiektowych dotycz referencji, a nie obiektów (operacje arytmetyczne s niedozwolone). Na obiektach (ich wntrzu) operujemy za pomoc metod zdefiniowanych w klasie obiektu.
PRZYKAD
//new zwraca referencj do obiektu i podstawia pod p
Para p1=new Para();//nowy obiekt o wartociach 0,0
p1=p;//kopiujemy referencj, teraz oba obiekty
//wskazuj na to samo miejsce w pamici
p1.show(); //(1,2)
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 16
SOWO KLUCZOWE this Wyraenie new tworzy obiekt (przydziela pami i inicjuje wartoci
zerami), a nastpnie dla nowo utworzonego obiektu uruchamiany jest konstruktor. W konstruktorze dostpna jest referencja do tego obiektu w postaci niejawnie zdefiniowanej zmiennej this.
public Para(int a, int b){
this.a=a; this.b=b;
//przez konstruktor
Obiekt na rzecz którego wywoano metod, jest wewntrz metody reprezentowany sowem kluczowym this.
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 17
SOWO KLUCZOWE this Metoda zwracajca referencj do obiektu na rzecz którego
zostaa wywoana, np. metoda dodajca par przekazan jako argument do pary, na rzecz której wywoano metod
Para add(Para p){
suma.add(p1).add(p2);
this(...) uyte jako pierwsza instrukcja konstruktora pozwala wywoa w nim inny konstruktor
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 18
ZASIG ZMIENNYCH
W kadej metodzie/konstruktorze klasy moemy odwoa si do identyfikatorów skadowych klasy(pól i metod) niezalenie od tego w którym miejscu klasy s zadeklarowane.
Zmienne zadeklarowane w metodzie/konstruktorze czyli tzw. zmienne lokalne maj zasig lokalny- od miejsca deklaracji do koca metody, dotyczy to równie parametrów deklarowanych w nagówku metody. Zmienne lokalne musz mie nadane wartoci (w przeciwnym przypadku -bd kompilacji).
Zmienne deklarowane wewntrz bloków lokalnych (zestaw instrukcji ujty w {}) maj zasig od miejsca deklaracji do koca bloku. Wartoci zmiennych lokalnych s tracone po wyjciu sterowania z bloku (automatyczne zwolnienie pamici).
Java sama dba o to, aby usun obiekt, gdy nie istnieje ju aden wskanik do niego. Zajmuje si tym tak zwany garbage collector. Jeeli w klasie zostanie zadeklarowana metoda finalize(), to bdzie ona wywoywana przed zwolnieniem pamici przydzielonej kademu obiektowi tej klasy.
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 19
PAKIETY
Pakiety(ang.packages) s zbiorami(bibliotekami) klas sucymi ich logicznej organizacji. Pakiet grupuje klasy o wspólnej funkcjonalnoci.
Standardowa biblioteka Javy skada si z wielu pakietów, do których nale java.lang, java.util, java.net. Maj one struktur hierarchiczn. Pakiety mog zawiera klasy, a take inne pakiety, podobnie jak w przypadku katalogów i podkatalogów. Wszystkie standardowe pakiety Javy znajduj si w pakietach java i javax.
Pakiety chroni nas przed kolizjami nazw. Moe istnie wiele klas o takich samych nazwach w rónych pakietach np. File, dlatego uywamy nazw kwalifikowanych: nazwa_pakietu.nazwa_klasy np. java.io.File f= new java.io.File(”plik.txt”);
Kada klasa naley do jakiego pakietu. Dla klas definiowanych w naszych przykadach uywany by pakiet domylny (zwykle biecy katalog).
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 20
PAKIETY c.d. Aby zachowa unikalno nazw pakietów zaleca si stosowanie
w tych nazwach odwróconych domen internetowych(które s unikatowe)
Klasy s przechowywane w podkatalogach systemu plików. cieka do klasy musi odpowiada nazwie jej pakietu. Nazwy pakietów zwyczajowo pisze si maymi literami. Kolejne poziomy zagniedenia w hierarchii pakietów oddziela si od siebie kropkami, podobnie do tego jak nazwy kolejnych katalogów w ciece dostpu oddziela si od siebie ukonikami.
Jeli zatem deklarujemy, e klasa naley do pewnego pakietu, to plik zawierajcy implementacj tej klasy musi znajdowa si w katalogu odpowiadajcym temu pakietowi.
Przykadowo, jeli plik zawierajcy definicj klasy HelloWorld znajduje si w katalogu pl/naukajavy, to klasa ta naley do pakietu pl.naukajavy.
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 21
PAKIETY c.d. Pakiety klas s zwykle przechowywane w plikach JAR (Java
ARchive) lub ZIP. Pliki Jar zawieraj skompresowane pliki klas i katalogi.
Klasy zdefiniowane w nienazwanym pakiecie (tj. bez uycia dyrektywy package) maj nazwy proste np. Para.
Przy tworzeniu wikszych projektów lub klas, uywanych w innych programach, klasy umieszczamy w nazwanych pakietach, stosujc dyrektyw package. (W NetBeans wystarczy poda nazw pakietu w dialogu definiowania klasy, a automatycznie wygenerowany plik ródowy bdzie zawiera odpowiedni dyrektyw package) np. :
package pl.naukajavy; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 22
IMPORTOWANIE KLAS
import nazwa_pakietu.*; //importuje wszystkie
import nazwa_pakietu.KonkretnaKlasa;
}
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 23
IMPORTOWANIE KLAS Klasy String i System pochodz z pakietu java.lang. Nie
wymaga on importu, nazwy klas z tego pakietu s importowane domylnie.
Importowanie nazw klas nie oznacza wstawiania ich definicji do programu, umoliwia on tylko posugiwanie si nazwami skróconymi
Import statyczny umoliwia odwoania do skadowych statycznych
import static nazwa_pakietu.*;
import static nazwa_pakietu.KonkretnaKlasa;
out.println(”krócej”);
STRUKTURA PROGRAMU
Program w Javie to zestaw definicji klas
Poza ciaem klasy nie moe by adnego kodu, poza dyrektywami package, importu i komentarzami
package … //nieobowizkowa deklaracja pakietu
class B{ … }
Program moe by zapisany w 1 lub wielu plikach (.java) (W pliku moe by tylko 1 klasa publiczna)
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 25
DZIEDZICZENIE Dziedziczenie polega na przejciu waciwoci i funkcjonalnoci
obiektów pewnej klasy, z ewentualn ich modyfikacj i/lub uzupenieniem w taki sposób, by byy bardziej wyspecjalizowane.
Definicja klasy pochodnej:
Klasa A jest bezporedni nadklas, superklas, klas bazow klasy B
Klasa B jest bezporedni podklas, klas pochodn klasy A
Aby utworzy klas pochodn od klasy z innego pakietu, klasa bazowa musi by zadeklarowana jako public (W innym przypadku nie mona si do niej odwoa spoza pakietu).
Klasa moe dziedziczy tylko po jednej nadklasie.
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 26
DZIEDZICZENIE ZMIENNYCH
Podklasa z tego samego pakietu dziedziczy wszystko oprócz zmiennych private. Podklasa, zdefiniowana poza pakietem, w którym jest klasa bazowa, nie dziedziczy zmiennych private i zmiennych z domylnym atrybutem dostpu.
Tabela przedstawia jak atrybuty dostpu wpywaj na dziedziczenie zmiennych, gdy podklasa jest zdefiniowana w tym samym pakiecie, co klasa bazowa i gdy podklasa jest zdefiniowana w innym pakiecie.
Pakiet 2 Pakiet 1
Nie int a; Tak int a;
public int b; Tak public int b; Tak public int b;
protected int c;
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 27
Dziedziczenie metod
Konstruktory nie s nigdy dziedziczone.
Pola klasy bazowej (najczciej prywatne- nie mamy do nich dostpu w podklasie) inicjujemy w konstruktorze podklasy za pomoc wywoania konstruktora klasy bazowej. Co wicej, jeli tego nie zrobimy, to kompilator sam wywoa konstruktor bezparametrowy nadklasy. Jawne wywoanie konstruktora klasy bazowej w konstruktorze podklasy(koniecznie jako pierwsza instrukcja) dokonuje si poleceniem
super(argl,...,argn);
Dziedziczenie - przykad
Dziedziczenie – przykad c.d. // definicja klasy pochodnej
public class Pies extends Zwierze {
private String imie; // Imi psa
private String rasa; // Rasa
public Pies(String toImie) {
super("Pies"); // wywoaj konstruktor nadklasy
imie = tolmie; // podane imi
rasa = taRasa; // podana rasa
Dziedziczenie – przykad c.d.
public class Test {
Pies nowyPies = new Pies("Fido","Chihuahua"); Pies gwiazdorPies = new Pies("Lassie"); nowyPies.coToJest(); // opis gwiazdorPies.coToJest(); // i opis gwiazdora
}
}
Klasa Pies dziedziczy po klasie Zwierz, wic obiekty klasy Pies maj równie waciwoci obiektów klasy Zwierze, a zatem moemy na ich rzecz uywa metod zdefiniowanych w klasie Zwierze
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 31
DZIEDZICZENIE-referencyjna konwersja rozszerzajca
Zauwamy, e obiekty klasy Pies s równie obiektami klasy Zwierze (maj jej wszelkie waciwoci). Zatem referencje do obiektów klasy Pies moemy przypisa zmiennym oznaczajcym obiekty klasy Zwierze : Pies p=new Pies(...); Zwierze z=p;
Nazywamy to referencyjn konwersj rozszerzajc (widening reference conversion). Konwersja jest rozszerzajca, bo przeksztacamy typ pochodny(referencja do obiektu podklasy) do typu szerszego (referencja do obiektu nadklasy)
Zdolno obiektów do stawania si obiektem swojej nadklasy jest uyteczna.
PRZYKAD: Zaómy, e mamy nadklas NadKlasa, z której wyprowadzilimy podklasy: PodKlasa1, PodKlasa2.
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 32
DZIEDZICZENIE – konwersja rozszerzajca
Zaómy, e mamy zdefiniowan metod public typ metoda(NadKlasa n1, NadKlasa n2){ …. }
Wówczas dziki automatycznej konwersji referencyjnej moemy wywoywa j dla rónych rodzajów par: NadKlasa nkl1 = new NadKlasa(...); NadKlasa nkl2 = new NadKlasa(...); PodKlasa1 p1 = new PodKlasa1(...); PodKlasa2 p2 = new PodKlasa2(...); typ zm; zm=metoda(nkl1,nkl2); zm=metoda(nkl1,p1); zm=metoda(p1,p2);
Gdyby nie byo obiektowych konwersji rozszerzajcych, to dla kadej moliwej kombinacji par musielibymy napisa inn wersj metody metoda().
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 33
DZIEDZICZENIE-referencyjna konwersja zwajca
Zauwamy, e w rozwaanej powyej metodzie public typ metoda(NadKlasa n1, NadKlasa n2){ …. } wobec parametrów n1, n2 moemy uywa metod z NadKlasy, ale nie mona uywa metod z klas pochodnych (nawet, gdy n1, n2 wskazuj na obiekty klas pochodnych)
Referencyjna konwersja zwajca – polega na jawnym zastosowaniu operatora rzutowania do podklasy np..: void jakasMetoda(NadKlasa n){ typ zm=((PodKlasa1)n).metodaPodKlasy1(); … }
W przypadku, gdyby kto wywoa t metod dla obiektu podklasy PodKlasa2, zostaby wyrzucony bd CastClassException i wykonanie programu zostaoby przerwane
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 34
OPERATOR instanceof
Wyraenie ref instanceof T ma warto true, jeli referencja ref nie jest null i moe by w fazie wykonania programu rzutowana do typu T bez zgoszenia wyjtku CastClassException tzn. jeli referencja ref jest typu T lub dowolnego podtypu T. Wówczas:
void jakasMetoda (NadKlasa n){ typ zm; if(n instanceof PodKlasa1) zm=((PodKlasa1)n).metodaPodKlasy1() else if (n instanceof PodKlasa2) zm=((PodKlasa2)n).metodaPodKlasy2() … }

METODA getClass()
Innym sposobem stwierdzania typu jest zastosowanie metody getClass(). Metoda ta zwraca faktyczny typ obiektu w postaci referencji do obiektu klasy Class. Obiekty tej klasy oznaczaj klasy Pies p=new Pies(”Burek”); Zwierze z=p; Class c=z.getClass(); //zmienna c bdzie oznacza klas Pies
Aby dowiedzie si nazwy klasy -metoda getName() Class c=z.getClass(); String nazwa=c.getName();
Uwaga: Rónica pomidzy instanceof, a getClass(): jeli PodKlasa1 miaaby klas pochodn PodPodKlasa1: PodPodKlasa1 kl=new PodPodKlasa1(...); to kl instanceof PodKlasa1 zwróci true (bo brane s pod uwag podtypy), natomiast kl.getClass().getName() zwróci napis ”PodPodKlasa1”
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 36
DZIEDZICZENIE -nadpisywanie metod w klasie pochodnej
Metoda coToJest() z nadklasy Zwierze public void coToJest(){
System.out.println("To jest " + gatunek);
}
}
Ta metoda ma t sam sygnatur co metoda o tej samej nazwie w klasie bazowej i nadpisuje si nad tamt metod. Metoda nadpisujca metod z klasy bazowej nie moe mie atrybutu dostpu bardziej restrykcyjnego ni metoda z klasy bazowej.
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 37
DZIEDZICZENIE - podsumowanie
W Javie kada klasa moe bezporednio dziedziczy tylko po jednej klasie, ale porednio moe mie wiele nadklas, co wynika z hierarchii dziedziczenia. Ta hierarchia zawsze zaczyna si na klasie Object (której definicja znajduje si w zestawie standardowych klas Javy). Zatem w Javie wszystkie klasy pochodz porednio od klasy Object. Jeli definiujc klas, nie uyjemy sowa extends (nie zadamy jawnie dziedziczenia) to i tak nasza klasa domylnie bdzie dziedziczy klas Object (tak jakbymy napisali class A extends Object). Zatem referencj do obiektu dowolnej klasy mona przypisa zmiennej typu Object.
Object
NadKlasa
PodKlasa2
PodKlasa1
PodPodKlasa1
METODY equals() i toString() Operator == uyty wobec obiektów porównuje referencj
Do porównywania zawartoci obiektów suy metoda public boolean equals(Object o) przedefiniowana w wikszoci standardowych klas (np. String), która zwraca true, gdy obiekt na rzecz którego wywoano metod ma tak sam zawarto jak obiekt, przekazany jako argument
Dla klasy Para sami musimy j zdefiniowa, sygnatura metody musi by zawsze jak powyej np. public class Para{ private a, b; public boolean equals(Object obj){ if (this==obj) return true; if (obj==null) return false; if (getClass()!=obj.getClass())return false; Para other=(Para)obj;//konwersja zwajca if(a!=other.a||b!=other.b)return false; else return true; } }
12.10.2014 Dorota Pylak - Aplikacje w Javie-cz 2 39
METODY equals() i toString()
Do przedstawiania zawartoci obiektów w postaci napisów suy metoda : public String toString() wprowadzona ju w klasie Object. W naszych klasach definiujemy j sami. Jeli metodzie println() przekaemy jako argument referencj do obiektu, to zostanie wywoana metoda toString()
Przykad public class Para{ private int a,b; //....konstruktory public String toString(){ return ”(”+a+”,”+b+”)”; } public static void main(String[] args){ Para p=new Para(1,2); System.out.println(p); } }
Slajd 1
Slajd 2
Slajd 3
Slajd 4
Slajd 5
Slajd 6
Slajd 7
Slajd 8
Slajd 9
Slajd 10
Slajd 11
Slajd 12
Slajd 13
Slajd 14
Slajd 15
Slajd 16
Slajd 17
Slajd 18
Slajd 19
Slajd 20
Slajd 21
Slajd 22
Slajd 23
Slajd 24
Slajd 25
Slajd 26
Slajd 27
Slajd 28
Slajd 29
Slajd 30
Slajd 31
Slajd 32
Slajd 33
Slajd 34
Slajd 35
Slajd 36
Slajd 37
Slajd 38
Slajd 39