Anonymous inner class constructor

This is an example of how to use an anonymous inner class. We have set an example following the above steps:

  • We have created an abstract class, Abs that has a constructor and an abstract method.
  • We have also created another class, InnerClassConst, that has a static method, getAbs(int i), that returns a new Abs, for a given int value, where it overrides the f() method of Abs in order to print a message.
  • When calling a new Abs instance, calling getAbs(int i) method of InnerClassConst, it calls the overriden method in the Abs constructor of InnerClassConst,

as described in the code snippet below. 

package com.javacodegeeks.snippets.core;

abstract class Abs {

    public Abs(int i) {


  System.out.println("Abs constructor, i = " + i);

    public abstract void f();
public class InnerclassConst {

    public static Abs getAbs(int i) {


  return new Abs(i) {


    System.out.println("Inside instance initializer");



public void f() {

    System.out.println("In anonymous f()");



    public static void main(String[] args) {

  Abs a = getAbs(47);



Abs constructor, i = 47
Inside instance initializer
In anonymous f()

 This was an example of an anonymous inner class in Java.

Byron Kiourtzoglou

Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor at Java Code Geeks.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments
Back to top button