Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

JavaRanch #19

 
Guy Scharf
Greenhorn
Posts: 1
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This question asks: "TRUE or FALSE: methods which are marked protected can be called on any subclass of the class in which the method is declared." The answer is given as TRUE.
What does "called on any subclass" mean? That answer is certainly true if "on" means "in".
 
Jim Yingst
Wanderer
Sheriff
Posts: 18671
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When I read "called on any subclass" I imagine we're talking about taking an instance of the subclass and using it to invoke the method, as in subclassInstance.protectedMethod(). This would make the statement FALSE since you can't do that from within an unrelated class. I think you're right that the question was meant to say "in" rather than "on".
 
paul wheaton
Trailboss
Pie
Posts: 21185
Firefox Browser IntelliJ IDE Java
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The change is made.
(I'm sure glad I numbered the questions!)
 
Pete Pan
Ranch Hand
Posts: 44
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I still think is it FALSE (so
class A
{
protected void printName()
{
System.out.println("A");
}
}
class B extends A
{
protected void printName()
{
System.out.println("B");
}
}
class C extends B
{
protected void printName()
{
System.out.println("C");
}

static void main(String argc[])
{
//HOW DO I CALL A's printName, I don't
}
}
 
Amit Madan
Ranch Hand
Posts: 32
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi
you can call A's method by making object of A like
A ob1=new A();
ob1.printName();
which give output "A"

Amit
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic