Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!mx05.eternal-september.org!.POSTED!not-for-mail From: markspace Newsgroups: comp.lang.java.programmer Subject: Re: Overwriting inner classes? Date: Thu, 30 May 2013 10:41:25 -0700 Organization: A noiseless patient Spider Lines: 25 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Thu, 30 May 2013 17:37:05 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="fba3415ba68d85d643935af2f52f0b4b"; logging-data="18709"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19UXujSzoR5DMKeyfsrfvSnnhv3CVbU+kA=" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 In-Reply-To: Cancel-Lock: sha1:7mfyyGkGJuHvEBJPfgi65pDn+Is= Xref: csiph.com comp.lang.java.programmer:24199 On 5/29/2013 9:00 PM, Stefan Ram wrote: > Supersedes: > [I->It] > > class A { static class B { void f(){} }} > class C extends A {} > > It never occured to me before, but, yes: > Can C somehow »overwrite« f? > What Barb said. C cannot even overload f. They are simply completely disjoint. This would be different: class D extends B {} But then obviously the normal rules apply. This is one thing I like about Java over C++: the polymorphism rules are fairly simple and easy to remember. C++ is a lot more baroque; I find it quite difficult actually.