Java: Nested Methods

+1 vote
obj.anymethod().anyothermethod()

how we can call  anyothermethod after calling anymethod that class

because we have no method in method
Aug 19, 2019 in Java by anonymous
1,039 views

2 answers to this question.

0 votes

JAVA does not support “directly” nested methods, but you can still achieve nested method functionality in Java 7 or older version by defining local classes, class within method so that it will compile. In java 8 and newer version you achieve it by lambda expression. 

Method 1 (Using anonymous subclasses)
It is an inner class without a name and for which only a single object is created. An anonymous inner class can be useful when making an instance of an object with certain “extras” such as overloading methods of a class or interface, without having to actually subclass a class.

// Java program implements method inside method
public class Hello {
interface myInterface {        //create a local interface with one abstract method run()
void run();
}
// function have implements another function run()
static void Foo()    //implement run method inside Foo() function.
{
myInterface r = new myInterface() {
public void run()
{System.out.println("Hello");};
  }; 
r.run(); 
  } 
public static void main(String[] args) { 
Foo(); 
  } 
} 

Method 2 (Using local classes)
You can also implement a method inside a local class. A class created inside a method is called local inner class. If you want to invoke the methods of local inner class, you must instantiate this class inside method.

// Java program implements method inside method 
public class Hello { 
static void Foo()    //function have implementation of another. Function inside local class
{ 
class Local {   //local class
void fun() 
  { System.out.println("Hello"); } 
} 
new Local().fun(); 
} 
public static void main(String[] args) { 
Foo(); } 
} 

Method 3 (Using a lambda expression) 
Lambda expressions basically express instances of functional interfaces (An interface with single abstract method is called functional interface. An example is java.lang.Runnable). 

lambda expressions implement the only abstract function and therefore implement functional interfaces.

// Java program implements method inside method 
public class Hello {    
interface myInterface { 
void run(); 
 } 
static void Foo()  //function have implements another function, run() using lambda expression
{ 
myInterface r = () ->          //Lambda expression
{ 
System.out.println("Hello"); 
}; 
r.run(); 
} 
public static void main(String[] args) 
 { 
Foo(); 
 } 
} 
answered Aug 20, 2019 by Sirajul
• 50,440 points
+1 vote

public class ObjClass {

    ObjClass anyMethod() {

        System.out.println("anyMethod()");

        return this;

    }

    void anyOtherMethod() {

        System.out.println("anyOtherMethod()");

    }

    public static void main(String[] args) {

         ObjClass obj = new ObjClass();

          obj.anyMethod().anyOtherMethod();

     }

}

answered Jan 19 by zemiak

Related Questions In Java

0 votes
2 answers

When to use Static Methods in Java?

A static method has two main purposes: For ...READ MORE

answered Aug 9, 2018 in Java by samarth295
• 2,190 points
158 views
0 votes
1 answer

Can Static methods be inherited in java?

A subclass inherits all of the public ...READ MORE

answered Apr 30, 2018 in Java by Daisy
• 8,090 points
183 views
0 votes
2 answers

How to break the nested loop in Java?

You can use break with a label for the ...READ MORE

answered Sep 20, 2018 in Java by Sushmita
• 6,890 points
145 views
0 votes
1 answer

Java Static nested class

Hi, to understand their usage, you must ...READ MORE

answered Jun 7, 2018 in Java by v.liyyah
• 1,300 points
74 views
0 votes
1 answer

Static methods can't be abstract in Java

Well, Java doesn't allow this because of ...READ MORE

answered Oct 12, 2018 in Java by v.liyyah
• 1,300 points
107 views
+5 votes
3 answers

How to execute a python file with few arguments in java?

You can use Java Runtime.exec() to run python script, ...READ MORE

answered Mar 27, 2018 in Java by DragonLord999
• 8,400 points

edited Nov 6, 2018 by Omkar 16,972 views
0 votes
1 answer

How to handle drop downs using Selenium WebDriver in Java

First, find an XPath which will return ...READ MORE

answered Mar 27, 2018 in Selenium by nsv999
• 5,510 points
3,129 views
0 votes
1 answer

What are the differences between getText() and getAttribute() functions in Selenium WebDriver?

See, both are used to retrieve something ...READ MORE

answered Apr 5, 2018 in Selenium by nsv999
• 5,510 points
7,668 views
0 votes
1 answer

Selenium JARS(Java) missing from downloadable link

Nothing to worry about here. In the ...READ MORE

answered Apr 5, 2018 in Selenium by nsv999
• 5,510 points
1,248 views
0 votes
4 answers

How can we define global variables in java?

class G { static String globalVar ...READ MORE

answered Jan 29, 2019 in Java by zemiak
12,151 views