Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #37445

Re: Are Outer Classes Loaded Lazily?

From Marcel Mueller <news.5.maazl@spamgourmet.org>
Newsgroups comp.lang.java.programmer
Subject Re: Are Outer Classes Loaded Lazily?
Date 2017-09-21 21:18 +0200
Organization MB-NET.NET for Open-News-Network e.V.
Message-ID <oq13am$9v4$1@gwaiyur.mb-net.net> (permalink)
References <opu86b$k29$1@news.albasani.net>

Show all headers | View raw


On 20.09.17 19.23, j4n bur53 wrote:
> Assume I have a nested inner class Inner,
> and I do the following:
>
>     Class x=Class.forName('../Outer$Inner');
>
> And then I do the following:
>
>     Class y=x.getEnclosingClass();
>
> Is the enclosing class '../Outer' already
> loaded during the Class.forName() or only
> when I do getEnclosingClass() ?

AFAIK there are no dependencies in static construction of class types, 
regardless whether they are inner, outer or whatever.
The only guarantee is, that a class initialization is run before any 
member access. No more, no less. So unless you create such a dependency 
you cannot assume the outer class to be initialized.

Of course, the rule "before" is also fulfilled if the outer class would 
be initialized immediately. So at the end it is implementation defined.
But I assume that it is unlikely that an implementation initializes the 
outer class earlier than required, just because this could break a 
dependency of Outer on Inner. I.e. if the initialization of the outer 
class accesses static members of Inner.


Marcel

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Are Outer Classes Loaded Lazily? j4n bur53 <janburse@fastmail.fm> - 2017-09-20 19:23 +0200
  Re: Are Outer Classes Loaded Lazily? Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-09-20 17:45 -0400
    Re: Are Outer Classes Loaded Lazily? j4n bur53 <janburse@fastmail.fm> - 2017-09-21 01:18 +0200
      Re: Are Outer Classes Loaded Lazily? lewbloch@gmail.com - 2017-09-20 17:28 -0700
        Re: Are Outer Classes Loaded Lazily? j4n bur53 <janburse@fastmail.fm> - 2017-09-21 09:29 +0200
          Re: Are Outer Classes Loaded Lazily? j4n bur53 <janburse@fastmail.fm> - 2017-09-21 09:40 +0200
          Re: Are Outer Classes Loaded Lazily? lewbloch@gmail.com - 2017-09-21 11:44 -0700
  Re: Are Outer Classes Loaded Lazily? Marcel Mueller <news.5.maazl@spamgourmet.org> - 2017-09-21 21:18 +0200
    Re: Are Outer Classes Loaded Lazily? Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-09-21 16:20 -0400
      Re: Are Outer Classes Loaded Lazily? j4n bur53 <janburse@fastmail.fm> - 2017-09-22 11:12 +0200
        Re: Are Outer Classes Loaded Lazily? Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2017-09-22 15:55 -0400
          Re: Are Outer Classes Loaded Lazily? j4n bur53 <janburse@fastmail.fm> - 2017-09-23 18:33 +0200
    Re: Are Outer Classes Loaded Lazily? lewbloch@gmail.com - 2017-09-22 13:48 -0700
      Re: Are Outer Classes Loaded Lazily? Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2017-09-22 23:46 -0400
        Re: Are Outer Classes Loaded Lazily? lewbloch@gmail.com - 2017-09-25 13:23 -0700
      Re: Are Outer Classes Loaded Lazily? j4n bur53 <janburse@fastmail.fm> - 2017-09-24 17:39 +0200
        Re: Are Outer Classes Loaded Lazily? Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-09-25 07:38 -0400
        Re: Are Outer Classes Loaded Lazily? lewbloch@gmail.com - 2017-09-25 13:25 -0700

csiph-web