Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #18410
| From | Eric Sosman <esosman@ieee-dot-org.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: startup code |
| Date | 2012-08-29 15:41 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <k1lr9i$t23$1@dont-email.me> (permalink) |
| References | (3 earlier) <aa4sm3FtuvU1@mid.individual.net> <c9e3596e-4091-4661-943a-a62f7e1ac4e0@googlegroups.com> <DdmdnV3jtJyVqKPNnZ2dnUVZ_jCdnZ2d@earthlink.com> <2667fee7-d27c-4d64-8fcc-501c188a2d33@googlegroups.com> <wN6dnbtMWafH-6PNnZ2dnUVZ_rOdnZ2d@earthlink.com> |
On 8/29/2012 2:58 PM, Patricia Shanahan wrote:
> On 8/29/2012 11:18 AM, bob smith wrote:
>> On Wednesday, August 29, 2012 10:28:09 AM UTC-5, Patricia Shanahan wrote:
>>> On 8/29/2012 8:14 AM, bob smith wrote:
>>>
>>> ...
>>>
>>>> I have a font class, and it needs to load a bitmap containing the
>>>> fonts.
>>>
>>>
>>>
>>> When do you need the bitmap? For example, it might be needed on first
>>>
>>> call to some static method in the class, or the first time an instance
>>>
>>> of the class is created ...
>>>
>>>
>>>
>>> Patricia
>>
>> On first call to some static method in the class
>>
>
> In that case, put the initialization in a static initializer:
>
> static {
> // create the bitmap
> }
>
> It will be run on the first event that causes initialization of the
> class. Invocation of a static method is one of those events.
"What she said," with a stylistic suggestion: If the code to
create the bitmap grows to more than a very few lines, consider
putting them in a private static method of their own and calling
that method from the static initializer:
class Thing {
...
static {
createTheBitmap();
}
/** Called only during class initialization. */
private static void createTheBitmap() {
// create the bitmap
}
...
}
Doesn't change the code's meaning in any significant way, but
may make it easier to debug/adapt/refactor later on.
--
Eric Sosman
esosman@ieee-dot-org.invalid
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
startup code bob smith <bob@coolfone.comze.com> - 2012-08-28 11:48 -0700
Re: startup code Roedy Green <see_website@mindprod.com.invalid> - 2012-08-28 11:53 -0700
Re: startup code Lew <lewbloch@gmail.com> - 2012-08-28 14:00 -0700
Re: startup code Robert Klemme <shortcutter@googlemail.com> - 2012-08-28 23:48 +0200
Re: startup code Lew <lewbloch@gmail.com> - 2012-08-28 15:25 -0700
Re: startup code Patricia Shanahan <pats@acm.org> - 2012-08-29 08:27 -0700
Re: startup code bob smith <bob@coolfone.comze.com> - 2012-08-29 11:18 -0700
Re: startup code Patricia Shanahan <pats@acm.org> - 2012-08-29 11:58 -0700
Re: startup code Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-29 15:41 -0400
Re: startup code Lew <lewbloch@gmail.com> - 2012-08-29 13:04 -0700
Re: startup code Robert Klemme <shortcutter@googlemail.com> - 2012-08-29 22:06 +0200
Re: startup code Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-08-29 17:14 -0400
Re: startup code Roedy Green <see_website@mindprod.com.invalid> - 2012-08-29 00:21 -0700
Re: startup code Patricia Shanahan <pats@acm.org> - 2012-08-29 02:42 -0700
Re: startup code Patricia Shanahan <pats@acm.org> - 2012-08-29 02:54 -0700
Re: startup code Arne Vajhøj <arne@vajhoej.dk> - 2012-08-28 19:20 -0400
Re: startup code Jeff Higgins <jeff@invalid.invalid> - 2012-08-28 15:22 -0400
Re: startup code Arne Vajhøj <arne@vajhoej.dk> - 2012-08-28 19:19 -0400
csiph-web