• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Inner Classes

 
Deepali Pate
Ranch Hand
Posts: 114
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
[/code]class Outer {
class Inner { }
}

public class InheritInner extends Outer.Inner{

InheritInner() {}
public static void main(String [ ] args) {
Outer o = new Outer( ) ;
InheritInner ii = new InheritInner( ) ;
}
}
[code]
This program gives the following error. How can we rewrite it such that it gives no compile time error.
InheritInner.java:8: No enclosing instance of class Outer is in scope; cannot create a default constructor for class InheritInner.
InheritInner() {}
 
Amir Ghahrai
Ranch Hand
Posts: 110
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I thought in order to extend a (non-static) Inner class, you must first create a reference to the outer class, so that you can use the reference to access the inner class. One way round that could be to extend the outer class first, and then extend the inner class inside your class..(confusing).
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic