Path: csiph.com!1.us.feeder.erje.net!feeder.erje.net!border1.nntp.dca1.giganews.com!nntp.giganews.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Message-ID: Subject: =?UTF-8?Q?Re=3a_Klasa_z_zagnie=c5=bcd=c5=bconymi_obiektami?= Newsgroups: pl.comp.lang.java References: <628ea001$0$486$65785112@news.neostrada.pl> <628fdab1$0$483$65785112@news.neostrada.pl> From: Filus Date: Mon, 30 May 2022 19:02:30 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 MIME-Version: 1.0 In-Reply-To: <628fdab1$0$483$65785112@news.neostrada.pl> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: pl Content-Transfer-Encoding: 8bit Lines: 32 Organization: Telekomunikacja Polska NNTP-Posting-Host: 212.14.52.66 X-Trace: 1653983999 unt-rea-a-01.news.neostrada.pl 493 212.14.52.66:53169 X-Complaints-To: abuse@news.neostrada.pl Xref: csiph.com pl.comp.lang.java:10867 W dniu 2022-05-26 o 21:53, J-23 pisze: > Dzięki za info do tego doszedłem też :) tylko widzisz pod względem > wydajnościowym to wygląda źle a przynajmniej takie mam wrażenie bo wszystkie > obiekty są tworzone "od razu" na starcie. W klasie System jest to tworzone w > momencie użycia i o ten mechanizm mi chodzi. Leniwa inicjalizacja („Lazy initialization”) - i działanie na getterach/setterach zamiast bezpośrednio na polach. Najnaiwniejsza implementacja: public class A { private static B b; public static B getB() { if (b == null) { b = new B(); } return b; } } public class B { public void method() {}; } i wołać: A.getB().method(); -- Filus