Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

inheritance and private instance variables

 
Scott Updike
Ranch Hand
Posts: 92
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If private class members (instance variables and methods for example) are not inherited, then if I have a class who's superclass has public getter and setter methods with a private instance variable, then how does the subclass call a setter method on an instance variable that it does not inherit?

Example:


public class A {
private String name;

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

--------------

public class B extends A {

private String name2;

public void setName2(String name) {
this.name2 = name;
}
}

--------

Now, when I say

....
String myName = "Blah";
B b = new B();
b.setName(myName);
....

How does that work if name (from class A) is not extended to B since it's private but the setter is public? I must be missing something....

Thanks,
Scott
 
Keith Lynn
Ranch Hand
Posts: 2409
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well the subclass is aware of the private member of the superclass, but it can't access it directly. But the public getter methods from the superclass allow it to interact with its private members.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic