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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T20:39:10+00:00 2026-05-25T20:39:10+00:00

I want to change how a method of a class executes without overriding the

  • 0

I want to change how a method of a class executes without overriding the method, and only overriding (or ideally extending) the inner class. Assume that I cannot change the fact that I need to do this (I am modifying an existing open source code base and there would be friction to pulling out classes or whatnot).

public class A {
  static class Thing {
    public int value() { return 10+value2(); }
    public int value2() { return 10; }
  }

  public String toString() {
    Thing t = new Thing();
    return Integer.toString(t.value());
  }
}

public class B extends A {
  static class Thing {
    public int value2() { return 20; }
  }
}

My goal is, by changing only Thing, getting B’s toString() to return “30”, where currently it will return “20”. The ideal would be to change only the method value2 (thus leaving any other methods unchanged), but I don’t know if this is possible.

Thanks

  • 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-05-25T20:39:10+00:00Added an answer on May 25, 2026 at 8:39 pm

    I think you need a factory method for this. Consider the following example (derived from your snippet):

    static class A {
        static class Thing {
            public int value() {
                return 10 + value2();
            }
            public int value2() {
                return 10;
            }
        }
        protected Thing createThing() {
            return new Thing();
        }
        public String toString() {
            return Integer.toString(createThing().value());
        }
    }
    
    static class B extends A {
        static class Thing extends A.Thing {
            public int value2() {
                return 20; 
            }
        }
        @Override
        protected Thing createThing() {
            return new Thing(); // creates B.Thing
        }
    }
    
    public static void main(String[] args) {
        System.out.println(new B());
    }
    

    Output:

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

Sidebar

Related Questions

I have created several UI elements in the viewDidLoad method. I want to change
I want to change the background color of a textbox as an indicator that
I want to test a JSF Backing-Bean method isInProgress that delegates to a service
I have a method in a class that causes side effects to the method's
Assume you want to add some methods to all Iterables. That can look like
i want change the content of a UITableView when i change a button, how
I want change following javascript code to jquery code, How is it? With done
What I want change the properties(e.g. background) of a context menu in a datatemplate
I have a RadioButtnList. I want change body background color based on radio button
i have many div's with the same background image and i want change this

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.