• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Abstract super class.

 
hanmeng
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
According the book: if super class is abstract, the subclass must be abstract or all methods must be abstract.
But I compiled following file. It's good, its subclass is not abstract, why it compiled with non-complain?
=====================================
abstract class Base{
abstract public void myfunc();
public void another(){
System.out.println("Another method");
}
}
public class Abs extends Base{
public static void main(String argv[]){
Abs a = new Abs();
a.amethod();
}
public void myfunc(){
System.out.println("My func");
}
public void amethod(){
myfunc();
}
}
1) The code will compile and run, printing out the words "My Func"
 
Sachin Kombrabail
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can you tell me which book told you that?
 
Ajith Kallambella
Sheriff
Posts: 5782
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah, which book is that?
If a subclass doesnot implement all the abstract methods in the superclass, then -

  • The subclass itself should be declared as abstract
  • The superclass methods that are not implemented should be re-declared as abstract.

  • Hope this helps
    Ajith
    [This message has been edited by Ajith Kallambella (edited August 30, 2000).]
 
hanmeng
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you Ajith and Sachin
this words come from our class material book that not english words. I just translate it into Eglish
han
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic