Pytania otagowane jako java

Java to niezależny od platformy, obiektowy język programowania wysokiego poziomu, pierwotnie opracowany przez Sun Microsystems. Java jest obecnie własnością firmy Oracle, która zakupiła Sun w 2010 roku.


12
Uzasadnienie, aby preferować zmienne lokalne zamiast zmiennych instancji?
Baza kodów, nad którą pracuję, często używa zmiennych instancji do udostępniania danych między różnymi trywialnymi metodami. Pierwotny programista jest przekonany, że przestrzega najlepszych praktyk zawartych w książce Clean Code autorstwa Uncle Bob / Robert Martin: „Pierwszą zasadą funkcji jest to, że powinny być małe”. oraz „Idealna liczba argumentów dla funkcji …
109 java  refactoring 


5
Dlaczego do interfejsów w Javie 8 dodano domyślne i statyczne metody, skoro mieliśmy już klasy abstrakcyjne?
W Javie 8 interfejsy mogą zawierać zaimplementowane metody, metody statyczne i tak zwane metody „domyślne” (których klasy implementujące nie muszą zastępować). W mojej (prawdopodobnie naiwnej) opinii nie było potrzeby naruszania takich interfejsów. Interfejsy zawsze były umową, którą musisz wypełnić, a jest to bardzo prosta i czysta koncepcja. Teraz jest to …

12
Powiedziano mi, że wyjątków należy używać tylko w wyjątkowych przypadkach. Skąd mam wiedzieć, czy moja sprawa jest wyjątkowa?
Moim szczególnym przypadkiem jest to, że użytkownik może przekazać ciąg znaków do aplikacji, aplikacja analizuje go i przypisuje do obiektów strukturalnych. Czasami użytkownik może wpisać coś nieprawidłowego. Na przykład ich wkład może opisywać osobę, ale może powiedzieć, że jej wiek to „jabłko”. Prawidłowe zachowanie w takim przypadku polega na wycofaniu …

6
Pamięć stosu i sterty w Javie
Jak rozumiem, w Javie pamięć stosu zawiera prymitywy i wywołania metod, a pamięć sterty służy do przechowywania obiektów. Załóżmy, że mam klasę class A { int a ; String b; //getters and setters } Gdzie będzie przechowywany prymityw aw klasie A? Dlaczego pamięć sterty w ogóle istnieje? Dlaczego nie możemy …

9
Dlaczego trudno jest sprawić, by program Java „pojawiał się”?
Większość aplikacji Java nie wygląda tak samo jak aplikacje C / C ++. Swing mógł zostać zaprojektowany specjalnie, aby mieć wyjątkowy wygląd, ale na podstawie tego, co przeczytałem, SWT na przykład próbował „wyglądać na rodzimego” i nie do końca się udaje. Moje pytanie brzmi: Dlaczego twórcom języka Java trudno jest …
98 java  gui 

4
Czym różni się odniesienie Java od wskaźnika C?
C ma wskaźniki, a Java ma tak zwane referencje. Mają pewne wspólne cechy w tym sensie, że wszystkie na coś wskazują. Wiem, że wskaźniki w C przechowują adresy, na które wskazują. Czy referencje przechowują również adres? Czym się różnią, tyle że wskaźnik jest bardziej elastyczny i podatny na błędy?
97 java  c  pointers  reference 

17
Czy enkapsulacja jest nadal jednym ze słoni, na którym stoi OOP?
Enkapsulacja każe mi uczynić wszystkie lub prawie wszystkie pola prywatnymi i ujawnić je autorom / ustawiającym. Ale teraz pojawiają się biblioteki takie jak Lombok, które pozwalają nam ujawnić wszystkie prywatne pola za pomocą jednej krótkiej adnotacji @Data. Będzie tworzyć gettery, settery i konstruktory ustawień dla wszystkich prywatnych pól. Czy ktoś …


5
Dlaczego Java w ogóle nie ma optymalizacji pod kątem rekurencji?
Z tego, co przeczytałem: Powodem jest to, że nie jest łatwo ustalić, która metoda zostanie faktycznie wywołana, ponieważ mamy dziedziczenie. Dlaczego jednak Java nie ma przynajmniej optymalizacji rekurencji dla metod statycznych i nie wymusza właściwego sposobu wywoływania metod statycznych za pomocą kompilatora? Dlaczego Java nie ma żadnego wsparcia dla rekursji …




10
Jak unikać getterów i seterów?
Mam trochę trudności z projektowaniem zajęć w sposób oo. Czytałem, że obiekty ujawniają swoje zachowanie, a nie dane; dlatego zamiast używać getter / setters do modyfikowania danych, metodami danej klasy powinny być „czasowniki” lub akcje działające na obiekcie. Na przykład, w „Konto” obiektu, musielibyśmy metody Withdraw()i Deposit()zamiast setAmount()itd. Patrz: Dlaczego …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.