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 8743323
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T11:39:21+00:00 2026-06-13T11:39:21+00:00

The code in the following snippet throws java.lang.StackOverflowError . public class Main { private

  • 0

The code in the following snippet throws java.lang.StackOverflowError.

public class Main
{
    private Main m=new Main("");  //This statement causes the exception.

    private Main(String s)
    {
        System.out.println(s);
    }

    public static void main(String[] args)
    {
        try
        {
            Main m1=new Main("The constructor called.");
            System.out.println("Successful!");
        }
        catch (Exception ex)
        {
            System.out.println(ex);
        }
    }
}

There is no meaning to deliberately write this statement private Main m=new Main(""); inside the class itself but that statement is not ever supposed to be used by any code in the class then how can that statement cause the exception to be thrown?

  • 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-13T11:39:22+00:00Added an answer on June 13, 2026 at 11:39 am

    Each time you call the constructor, you create an instance and thus execute the initializing code

    private Main m=new Main("");
    

    which calls the constructor, etc.

    You probably want

    private static Main m=new Main("");
    

    in order to keep a singleton.

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

Sidebar

Related Questions

The following snippet uses simple Java code. package pkg; final public class Main {
I have the following snippet of java code: final Class<?> junitCoreClass = AccessController.doPrivileged( new
I have the following code snippet: class Cert { public static void main(String[] args)
Consider the constant in the following Java snippet : public class ConsumerServiceTestFixture { private
Consider the following code snippet private void ProcessFile(string fullPath) { XmlTextReader rdr = new
I have following code snippet that i use to compile class at the run
Let's look at the following simple code snippet in Java. interface Sum { abstract
Why does the following Java code snippet throw a StringIndexOutOfBoundsException on the third line
HelloTag.Java public class HelloTag extends SimpleTagSupport { @Override public void doTag() throws JspException, IOException
In the following code snippet, Foo1 is a class that increments a counter every

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.