手记

How to call private method from another class in java

How to call private method from another class in java

You can call the private method from outside the class by changing the runtime behaviour of the class.

By the help of java.lang.Class class and java.lang.reflect.Method class, we can call private method from any other class.


Example of calling private method from another class

Let's see the simple example to call private method from another class.

public class A {  
  private void message(){System.out.println("hello java"); }  
}  
import java.lang.reflect.Method;  
public class MethodCall{  
public static void main(String[] args)throws Exception{  

    Class c = Class.forName("A");  
    Object o= c.newInstance();  
    Method m =c.getDeclaredMethod("message", null);  
    m.setAccessible(true);  
    m.invoke(o, null);  
}  
}  

Another example to call parameterized private method from another class

Let's see the example to call parameterized private method from another class

class A{  
  private void cube(int n){System.out.println(n*n*n);}  
}  
import java.lang.reflect.*;  
class M{  
  public static void main(String args[])throws Exception{  
    Class c=A.class;  
    Object obj=c.newInstance();  

    Method m=c.getDeclaredMethod("cube",new Class[]{int.class});  
    m.setAccessible(true);  
    m.invoke(obj,4);  
  }
}  
0人推荐
随时随地看视频
慕课网APP