![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio spotkałem się z ciekawym "bugiem" który podobno nim nie jest. Ciekawy jestem jakie jest Wasze zdanie na ten temat.
Mam kod:
Jakie Twoim zdaniem wartości powinno mieć a i b? (fajnie jakbyś nie wykonywał tego kodu przed odpowiedzią) Następnie do powyższego kodu dodamy 3 nowe klasy:
Jakie wartości będzie mieć c i d? Jak wiadomo static użyte w klasie powinno kierować do "ostatniej" w hierarchii klasy. Jednak static w klasach abstrakcyjnych wydaje się być jakimś innym tworem - być może dlatego, że self w takich klasach nie może istnieć. Jeżeli zrobimy jednak zabieg z klasy F w getInstance static znowu jest tym "normalnym" static. Przez normalnym mam na myśli zachowanie które uważam za prawidłowe - obiekt klasy abstrakcyjnej nie może istnieć dlaczego więc static klasy abstrakcyjniej może? Tym sposobem możemy też sprawić aby static nie był static w zwykłych klasach:
Ten post edytował markuz 28.01.2017, 19:44:49 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 22:40 |