🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #153516

Re: Wywołanie metody niestatycznej bez tworzenia obiektu

#153516
From: tomjas
Date: Thu, 19 Jul 2012 13:06
49 lines
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-mail
References: <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