Article View: pl.comp.lang.java
Article #153516Re: Wywołanie metody niestatycznej bez tworzenia obiektu
From: tomjas
Date: Thu, 19 Jul 2012 13:06
Date: Thu, 19 Jul 2012 13:06
49 lines
2655 bytes
2655 bytes
On Thu, 19 Jul 2012 12:37:53 +0200, Arivald wrote:
> W dniu 2012-07-19 12:03, tomjas pisze:
>> Witam.
>> Od kilku dni uczę się Javy i utknąłem na wywołaniu metody z klasy
>> abstrakcyjnej bez tworzenia rozszerzenia klasy i obiektu. Dlaczego można
>> tak:
>>
>> Calendar d1 = Calendar.getInstance();
>> Date d2 = d1.getTime();
>>
>> czy też stosując Method Chaining:
>>
>> Date d1 = Calendar.getInstance().getTime();
>>
>> Przecież metoda getTime() nie jest statyczna, więc należałoby utworzyć
>> najpierw obiekt, a wcześniej klasę rozszerzającą abstrakcyjną klasę
>> Calendar. Gdzie popełniam błąd w rozumowaniu?
>
> Calendar.getInstance() zwraca konkretny obiekt rozszerzający
> abstrakcyjną klasę Calendar.
> A kto i kiedy ten obiekt utworzył to jest nieistotne.
>
> Tu akurat zastosowano getInstance() automatycznego tworzenia obiektu
> kalendarza zgodnego z Twoim systemem i lokalizacją. Zazwyczaj będzie to
> GregorianCalendar, ale w Japoni JapaneseImperialCalendar, a w Tailandii
> BuddhistCalendar.
>
> Możesz to przetestować np tak:
>
> Calendar def = Calendar.getInstance();
> Calendar jap = Calendar.getInstance(TimeZone.getDefaultRef(), new
> Locale("ja", "JA", "JA");
>
> String classDef = def .getClass().getCanonicalName();
> String alassJap = jap.getClass().getCanonicalName();
>
>
> > Swoją drogą - metoda
>> getTime() typu Date to inna metoda niż getTime() klasy Date?
>
> Oczywiście. Calendar.getTime() zwraca obiekt Date, na którym możesz
> wywołać getTime().
>
> np:
> Date timeAsDate = Calendar.getInstance().getTime();
> long time = Calendar.getInstance().getTime().getTime();
>
>
Dzięki za odpowiedź. Trochę się to zaczyna wreszcie klarować:)
Technical Details
Message-ID:
<slrnk0g1j8.dh0.tomjas@krusty.domain.org>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<slrnk0fmrn.qjt.tomjas@krusty.domain.org> <ju8o21$dmd$1@news.dialog.net.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: tomjas <tomjas@WYTNIJTOpoczta.onet.pl> Newsgroups: pl.comp.lang.java Subject: Re: Wywołanie metody niestatycznej bez tworzenia obiektu Date: Thu, 19 Jul 2012 13:06:48 +0000 (UTC) Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 49 Message-ID: <slrnk0g1j8.dh0.tomjas@krusty.domain.org> References: <slrnk0fmrn.qjt.tomjas@krusty.domain.org> <ju8o21$dmd$1@news.dialog.net.pl> Reply-To: tomjas NNTP-Posting-Host: 77-223-206-237.lublin.hypnet.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1342703208 10916 77.223.206.237 (19 Jul 2012 13:06:48 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Thu, 19 Jul 2012 13:06:48 +0000 (UTC) X-User: tomasz.jasinski User-Agent: slrn/0.9.9p1 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit