Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Java Help > Re: access leve...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 4 of 11 Topic 15966 of 16566
Post > Topic >>

Re: access levels for private field which is inherited

by Mark Space <markspace@[EMAIL PROTECTED] > Apr 13, 2008 at 09:37 AM

Lothar Kimmeringer wrote:
> thufir wrote:
> 
>> Would someone provide an example where Foo extends Bar and there are 
>> private fields in Bar which Foo uses in its constructor(s)?  Seems a 
>> conundrum...Using the following example:
> 
> Without reflection there is no way, but given your example
> you just need to call setName(name) to achieve your intention.


Even with reflection, is it possible?  I was just playing around with 
reflection and I noticed that the API only promises to return public 
methods and fields.  Maybe there's a sneaky "getAll" that I missed...

Anyway, calling super here is probably the best choice. Note than in 
your example you must call super because Bar has no default constructor.

One can also provide a factory method such as newInstance below.

package attribs;

public class Foo extends Bar {
   private String id;
   public Foo(String name,String id){
     super( name );           // New line here
     //this.name = name;      // Get rid of this one
     this.id = id
   }
   static public Foo newInstance( String id ) {
     Foo f = new Foo( "default", id );
     f.setSomeOtherNonfinalProperty( "non" );
     return f;
}

package attribs;

public class Bar {

   private String name;

   public setName(String name) {this.name = name;}
}
 




 11 Posts in Topic:
access levels for private field which is inherited
thufir <hawat.thufir@[  2008-04-13 10:01:29 
Re: access levels for private field which is inherited
Lothar Kimmeringer <ne  2008-04-13 12:38:52 
Re: access levels for private field which is inherited
Lew <lew@[EMAIL PROTEC  2008-04-13 07:41:05 
Re: access levels for private field which is inherited
Mark Space <markspace@  2008-04-13 09:37:03 
Re: access levels for private field which is inherited
"Larry A Barowski&qu  2008-04-13 17:16:24 
Re: access levels for private field which is inherited
Mark Space <markspace@  2008-04-15 17:09:33 
Re: access levels for private field which is inherited
Roedy Green <see_websi  2008-04-14 21:12:11 
Re: access levels for private field which is inherited
Roedy Green <see_websi  2008-04-14 20:56:51 
Re: access levels for private field which is inherited
thufir <hawat.thufir@[  2008-04-15 10:21:27 
Re: access levels for private field which is inherited
thufir <hawat.thufir@[  2008-04-15 23:06:17 
Re: access levels for private field which is inherited
Chase Preuninger <chas  2008-04-15 16:46:50 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Nov 22 15:52:27 CST 2008.