Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7788541
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T21:02:26+00:00 2026-06-01T21:02:26+00:00

I want to know if there are any constructors involved with inner classes. for

  • 0

I want to know if there are any constructors involved with inner classes. for example consider the code snippet given below

class MyOuter
{
   private int x= 10;

   class MyInner
   {
      void dostuff(){
         System.out.println("The value of x is "+x);
      }
   }
}

In another java file i create instances for both MyOuter and MyInner classes as shown below

Class Program
{
   public static void main(String [] args)
   {
      MyOuter mo = new MyOuter();
      MyOuter.MyInner mi = mo.new MyInner();
      mi.dostuff();
   }
}

The above code snippet compiles fine and gives output of “The value of x is 10”.

What i want to know here is whether a constructor is invoked when new() is used with MyInner class and MyOuter class. If yes, then is there any constructor chaining from inner class to outer class (like subclass calls constructor of super class and so on).

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T21:02:27+00:00Added an answer on June 1, 2026 at 9:02 pm

    You can observe the constructor chain for the inner class when you extend an inner class.

    Take this example:

    public class MainClass {
    
        public MainClass(String value) {
            System.out.println("mainValue: " + value);
        }
    
        public class NestedClass {
    
            public NestedClass(String nestedValue) {
                System.out.println("nestedValue: " + nestedValue);
            }
        }
    
    }
    

    and then extend the NestedClass like this

    public class NestedClassExtension extends NestedClass {
    
        public NestedClassExtension(MainClass mainClass, String nestedValue) {
            mainClass.super(nestedValue);
        }
    }
    

    so you can see that you are able to call the super constructor of your nested class passing to that constructor the MainClass, and calling .super on mainClass object instance.

    Now you can create NestedClassExtension instances in this way:

    NestedClassExtension extension = new NestedClassExtension(new MainClass("main"), "nested");
    

    So the main class has to exist, and its constructor it is called first. Then the constructors of the nested classes.

    Instead if you want create a NestedClass instance outside of the MainClass you have to write:

    MainClass mc = new MainClass("main");
    mc.new NestedClass("nested");
    

    Another time, the MainClass has to be created first, then the nested classes.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

For any given type i want to know its default value. In C#, there
I want to know is there any way that I can remove duplicates from
I want to know is there any way or message in MFC by which
Am working with knockout template binding, i just want to know is there any
I want to know if there is any way by which I can paste
I want to know if there is any free tool to test the performance
I want to know if there are any existing benchmarks and sizing information for
I want to know that is there any standards for defining gestures using Kinect
I want to know if there is any provision that allows me to read
I want to know if there are any methods other than file.open(); in <windows.h>

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.