Przejdź do głównej zawartości

Hermetyzacja raz jeszcze - java + static

Korzyści z hermetyzacji :

  • możliwość zmianny tylko w obrębie klasy np z getName ---> return firstName + " " + lastName zamiast pierwotnego return name
  • ograniczamy dostępność tylko do wyznaczonych parti kodu - ustawiamy dla pola private ale nie ustawiamy gettera do tego pola
  • łatwosć w testowaniu 
  • łatwiejsze ponowne używanie programu


Modifikator static:
  • powoduje ze nie potrzeba tworzyć obiektu klasy aby mieć dostęp do jego metod. Java przeszukuje wszystkie modyfikatory dostępu static aby dla wszystkich metod stworzyć po jednej instancji metody
  • Zmienne będące w statycznej metodzie muszą również być statyczne aby umozliwić uruchomienie metody / programu
  • W statycznej metodzie nie stosujemy this. gdyż nie odwołujemy się do instancji która może zostać nie zainicjalizowana
  • Statyczna zmienna nie może być zainicjalizowana w metodzie statycznej gdyż dochodzi do problemu w którym moemncie zainicjalizować zmienną A - w moemencie startu programu B - w momencie wywołania metody

Pola statyczne - będzie współdzielone przez wszystkie instancje danego obiektu. pole takie będzie istniało nawet jeśli nie będzie ani jednego obiektu danej klasy.
Stałe statyczne - np w klasie Math znajdziemy stałą statyczną  public static final double PI=3,14159 dostęp do tej stałej mamy tylko z poziomu klasy Math.PI - gdyby nie było słowa static musielibyśmy się odwoływać do stałej PI poprzez stworzony każdorazowo obiekt. Stałą statyczną jest public static finall PrintStream out
Metody statyczne - metody statyczne nie działają na obiektach, metody statyczne działają na klasach.


Komentarze

Popularne posty z tego bloga

Skrócony zapis if - instrukcja warunkowa java

Instrukcja warunkowa - warunek i rezultat. if (warunek) { jesli spełniony wykonań operacje i zwróć wynik; } warunek nie spełniony Możliwości skrócenia kodu instrukcji warunkowej if (i < 0) ? i-- : i++; Jeżeli i mniejsze od zera to i-- jezeli false to i++ if (i < 0) {     i--; } else {     i++; } Skrócony zapis instrukcji warunkowej else if (i < 0) ? i--;  inna_zmienna=4; : i++; if (i < 0) {     i--; } else {     i++;     inna_zmienna = 4; } Skrócony zapis if

wait and notify() Methods in Java - rekrutacja

Synchronizacja wątków. Procesor może wykonywać wiele zadań jednoczenśnie - concurrent software. Java wspiera współbieżność jest potrzebna synchronizacja ponieważ różne wątki threads mogą w tym samym czasie usiłować zmodyfikować ten sam zasób jeśli nie są zarządzane poprawinie. Object.wait() - zawiesza wątek - thread suspension Object.notify() - wznów wątek - thread wake up Object.notifyAll() - wznowienie wszystkich wątków

Runnable and Call able - Java rekrutacja

Runnable - interfejs zawierający metode run() - obiekt implementujący tą metodę tworzy wątek thread public interface Runnable The Runnable interface should be implemented by any class whose instances are intended to be executed by a thread. The class must define a method of no arguments called run. This interface is designed to provide a common protocol for objects that wish to execute code while they are active. For example, Runnable is implemented by class Thread. Being active simply means that a thread has been started and has not yet been stopped.  In addition, Runnable provides the means for a class to be active while not subclassing Thread. A class that implements Runnable can run without subclassing Thread by instantiating a Thread instance and passing itself in as the target. In most cases, the Runnable interface should be used if you are only planning to override the run() method and no other Thread methods. This is important because classes should not be subclas...