Widoczności:
– public – widoczny dla wszystkich
– private – widoczny tylko wewnątrz danej klasy
– protected – widoczny w obrębie pakietu oraz w klasach potomnych z innych pakietów
– nienazwana (friendly) – jak public w obrębie pakietu
Modyfikatory:
– static - dostęp bez uprzedniego utworzenia
– final - brak możliwości zmiany (pola mogą być inicjalizowane w konstruktorze)
Zastosowanie widoczności:
– klasa – public / friendly
– klasa wewnętrzna – public / private / protected / friendly
– konstruktor – public / protected / friendly
– metoda – public / private / protected / friendly
– pole – public / private / protected / friendly
– stała – public / private
Dziedziczenie
.clone() - tworzy i zwraca kopię aktualnego obiektu
.equals(Object) - sprawdza, czy dany obiekt jest równy aktualnemu
.finalize() - metoda wywoływana przez Garbage Collector, gdy nie istnieje
żadna referencja do aktualnego obiektu
.getClass() - zwraca klasę reprezentującą obiekt
.hashCode() - zwraca wartość reprezentującą obiekt dla metody mieszającej
.toString() - zwraca reprezentację tekstową obiektu
this - wskazanie na aktualny obiekt
super – wskazanie na obiekt klasy bazowej (nadrzędnej)
instanceof – sprawdzenie, czy obiekt jest danej klasy
POLIMORFIZM
public class butelka {
int pojemnosc=500;
int zawartosc;
int nalej_recznie(int napoj)
{
return zawartosc=napoj;
}
int nalej_automatycznie()
return zawartosc=pojemnosc;
class Napoj_gazowany extends butelka
int pojemnosc=400;
int nalej_recznie(int napoj, int gaz)
return zawartosc=napoj-gaz;
return zawartosc=pojemnosc-(5*pojemnosc/100);
public static void main(String[] args)
butelka b = new butelka();
Napoj_gazowany ng = new Napoj_gazowany();
butelka b1 = new Napoj_gazowany();
System.out.println("Zawartosc butelki z napojem niegazowanym; "+b.nalej_automatycznie());
System.out.println("Zawartosc butelki z napojem gazowanym: "+ng.nalej_automatycznie());
System.out.println("Zawartosc butelki z napojem niegazowanym: "+b.nalej_recznie(500));
System.out.println("Zawartosc butelki z napojem gazowanym: "+ng.nalej_recznie(500, 10));
System.out.println(b1.nalej_recznie(500));
System.out.println(((Napoj_gazowany)b1).nalej_recznie(500, 20));
if(b1 instanceof Napoj_gazowany)
System.out.println("b1 instanceof Napoj_gazowany");
Tablice:
– tworzenie tablicy jednowymiarowej typu int
int[] tab = new int[10];
– tworzenie tablicy wielowymiarowej
int[][] tab = new int[10][4];
– tworzenie i inicjalizacja zawartości tablicy
int[] tab = { 5, 3, 8, 2, 7 };
– liczba elementów tablicy
tab.length
– odwołanie do i-tego elementu tablicy
tab[i]
losowanie elementu:
public class Main {
public static void main(String[] args) {
// Stworzenie obiektu klasy Random, który posłuży do loswania liczb
Random r = new Random();
// Losowanie liczby z zakresu [0,10] do zmiennej a.
int a = r.nextInt(11); // deklaracja i definicja zmiennej
System.out.println(a);
// Losowanie liczby z zakresu [-5,15] i wyświetlenie jej na konsolę.
System.out.println( r.nextInt(21)-5 );
// 21, bo w przedziale [-5,15] jest 21 liczb i -5,
// bo to najmniejsza liczba w zakresie.
// Losowanie liczby z zakresu [-20,-10] do zmiennej a.
a = r.nextInt(11)-20;
// 11, bo w przedziale [-20,10] jest 11 liczb i -20,
// Losowanie liczb z zakresu [x,y], gdzie x i y, to zmienne
// całkowitoliczbowe o dowolnej wartości.
int x = 7; // To wartość przykładowa
int y = 15; // To wartość przykładowa
a = r.nextInt(y-x+1)+x; // Od większej (y) odejmujemy mniejszą (x) i
// dodajemy 1 - to daje liczność zbioru
// (w losowaniu), a następnie dodajemy
// mniejszą (x), bo to najmniejsza liczba
// w zakresie.
// Sprawdzenie powyższego przykładu dla liczb ujemnych:
x = -27; // To wartość przykładowa
y = -15; // To wartość przykładowa
a = r.nextInt(y-x+1)+x;
System.out.println...
cho-mik9613