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.
Spędziłem większość ostatnich kilku lat pracując głównie z C # i SQL. Każdy programista, z którym pracowałem przez ten czas, miał zwyczaj umieszczać nawias otwierający funkcji lub instrukcji przepływu w nowym wierszu. Więc ... public void MyFunction(string myArgument) { //do stuff } if(myBoolean == true) { //do something } else …
W starszym kodzie czasami widzę klasy, które są niczym innym jak opakowaniami danych. coś jak: class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } Rozumiem OO, że klasy są strukturami danych i metodami operowania na nich. Wydaje się, że wyklucza to obiekty tego typu. Dla …
Obok mnie siedzi kolega, który zaprojektował taki interfejs: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Problem polega na tym, że obecnie nie używamy tego parametru „end” nigdzie w naszym kodzie, po prostu istnieje, ponieważ w przyszłości będziemy musieli go użyć. Próbujemy …
Przeglądałem Księgarnię Amazon.com i natknąłem się na książkę „Programowanie funkcjonalne dla programistów Java” . Znam bardzo podstawowe programowanie funkcjonalne i programuję w Javie od 3 lat. Chciałbym wiedzieć, czy programowanie funkcjonalne jest nawet możliwe w Javie?
W inspirującej myśli Richa Hickeya na konferencji goto „ Wartość wartości ” po 29 minutach mówi o narzutach związanych z językiem takim jak Java i mówi: „Wszystkie te interfejsy zabijają ponowne użycie”. Co on ma na myśli? Czy to prawda? W poszukiwaniu odpowiedzi natknąłem się na: Zasada najmniejszej wiedzy AKA …
Podczas niedawnego przeglądu kodu poproszono mnie o umieszczenie defaultskrzynek we wszystkich plikach wszędzie tam, gdzie switchużywany jest blok, nawet jeśli nie ma nic do zrobienia default. Oznacza to, że muszę włożyć defaultsprawę i nic w niej nie pisać. Czy to jest właściwe? W jakim celu miałoby to służyć?
Zastanawiam się, dlaczego java.util.ArrayListpozwala to dodać null. Czy jest jakiś przypadek, w którym chciałbym dodać nulldo ArrayList? Zadaję to pytanie, ponieważ w projekcie mieliśmy błąd, gdzie niektóre kod został dodając nulldo ArrayListi trudno było dostrzec, gdzie był błąd. Oczywiście NullPointerExceptionwyrzucono a, ale dopóki inny kod nie próbował uzyskać dostępu do …
Przede wszystkim chciałbym wyjaśnić, że nie jest to pytanie język-X-język-Y, aby ustalić, który jest lepszy. Używam Javy od dłuższego czasu i zamierzam nadal z niej korzystać. Równolegle uczę się Scali z wielkim zainteresowaniem: poza drobnymi rzeczami, które przyzwyczajają się do mojego wrażenia, to, że naprawdę mogę bardzo dobrze pracować w …
Pojawił się nowy szum z długo oczekiwanymi wyrażeniami lambda w Javie 8; co 3 dni pojawia się z nimi kolejny artykuł o tym, jak fajni są. O ile rozumiem wyrażenie lambda jest niczym więcej niż anonimową klasą wewnętrzną z jedną metodą (przynajmniej na poziomie kodu bajtowego). Poza tym ma jeszcze …
Właśnie zauważyłem, że każdy współczesny język programowania OO, który jestem przynajmniej w pewnym stopniu zaznajomiony (który jest w zasadzie tylko Javą, C # i D) pozwala na tablice kowariantne. Oznacza to, że tablica łańcuchowa jest tablicą obiektową: Object[] arr = new String[2]; // Java, C# and D allow this Macierze …
Znam składnię, reguły zastosowane do klasy abstrakcyjnej i chcę znać użycie klasy abstrakcyjnej Klasy abstrakcyjnej nie można utworzyć bezpośrednio, ale można ją rozszerzyć o inną klasę Jaka jest z tego korzyść? Czym różni się od interfejsu? Wiem, że jedna klasa może implementować wiele interfejsów, ale może rozszerzyć tylko jedną klasę …
Powiedział Jame Gosling „W miarę możliwości należy unikać dziedziczenia implementacji.” i zamiast tego użyj dziedziczenia interfejsu. Ale dlaczego? Jak możemy uniknąć dziedziczenia struktury obiektu za pomocą słowa kluczowego „extends”, a jednocześnie uczynić nasz kod obiektowym zorientowanym? Czy ktoś mógłby podać obiektowy przykład ilustrujący tę koncepcję w scenariuszu „zamawianie książki w …
Piszę zestaw klas testowych junit w Javie. Istnieje kilka stałych, na przykład ciągi, których będę potrzebować w różnych klasach testowych. Myślę o interfejsie, który je definiuje i każda klasa testowa go zaimplementuje. Korzyści, które tam widzę to: łatwy dostęp do stałych: MY_CONSTANTzamiastThatClass.MY_CONSTANT każda stała zdefiniowana tylko raz Czy to podejście …
for (Canvas canvas : list) { } NetBeans sugeruje użycie „operacji funkcjonalnych”: list.stream().forEach((canvas) -> { }); Ale dlaczego jest to preferowane ? Jeśli tak, to trudniej jest je przeczytać i zrozumieć. Dzwonisz stream(), a następnie forEach()używasz wyrażenia lambda z parametrem canvas. Nie rozumiem, jak to jest ładniejsze niż forpętla w …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.