Skip to content

Commit 0a2d8e4

Browse files
committed
Reflection Commit
0 parents  commit 0a2d8e4

File tree

45 files changed

+1517
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1517
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import java.lang.reflect.*;
2+
public class Privateobject
3+
{
4+
private String privatestring=null; /* In this program one class is public so you have to save the .java file same as
5+
public Privateobject(String privatestring) the name of the public class name (ie. 'Privateobject.java') because implicit
6+
{ compiling is done here. */
7+
this.privatestring=privatestring;
8+
}
9+
}
10+
class Temp
11+
{
12+
public static void main(String... s)throws Exception
13+
{
14+
Privateobject privateobject=new Privateobject("The private value");
15+
Class c=Privateobject.class;
16+
Field privatestringfield=c.getDeclaredField("privatestring"); /* If the field passed in the form of string in 'getDeclaredFeild()'
17+
privatestringfield.setAccessible(true); method is not found then 'NoSuchFileFoundexception' occurs. */
18+
String fieldvalue=(String)privatestringfield.get(privateobject);
19+
System.out.println("Field value="+fieldvalue);
20+
}
21+
}
22+
23+
/*OUTPUT-
24+
Field value=The private value */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import java.lang.reflect.*;
2+
public class Privateobject
3+
{
4+
private static int privateint=5;
5+
}
6+
class Temp
7+
{
8+
public static void main(String... s)throws Exception
9+
{
10+
Privateobject privateobject=new Privateobject();
11+
Class c=Privateobject.class;
12+
Field privatefield=c.getDeclaredField("privateint");
13+
privatefield.setAccessible(true);
14+
int fieldvalue=(int)privatefield.get(privateobject);
15+
System.out.println("Field value="+fieldvalue);
16+
17+
//Code for modifying the static private field-
18+
19+
System.out.println("changed value of private field is : ");
20+
privatefield.set(null,10);
21+
int fieldvalue1=(int)privatefield.get(privateobject);
22+
System.out.println("Field value="+fieldvalue1);
23+
}
24+
}
25+
26+
/* OUTPUT-
27+
Field value=5
28+
changed value of private field is :
29+
Field value=10 */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import java.lang.reflect.*;
2+
public class Privateobject
3+
{
4+
private int privateint=0;
5+
public Privateobject(int privateint)
6+
{
7+
this.privateint=privateint;
8+
}
9+
}
10+
class Temp
11+
{
12+
public static void main(String... s)throws Exception
13+
{
14+
Privateobject privateobject=new Privateobject(5);
15+
Class c=Privateobject.class;
16+
Field privatefield=c.getDeclaredField("privateint");
17+
privatefield.setAccessible(true);
18+
int fieldvalue=(int)privatefield.get(privateobject);
19+
System.out.println("Field value="+fieldvalue);
20+
21+
//Code for modifying the value of private field-
22+
23+
System.out.println("changed value of private field is : ");
24+
privatefield.set(privateobject,10);
25+
int fieldvalue1=(int)privatefield.get(privateobject);
26+
System.out.println("Field value="+fieldvalue1);
27+
}
28+
}
29+
30+
/* OUTPUT-
31+
Field value=5
32+
changed value of private field is :
33+
Field value=10 */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import java.lang.reflect.*;
2+
public class Privateobject
3+
{
4+
private String privatestring=null;
5+
public Privateobject(String privatestring)
6+
{
7+
this.privatestring=privatestring;
8+
}
9+
}
10+
class Temp
11+
{
12+
public static void main(String... s)throws Exception
13+
{
14+
Privateobject privateobject=new Privateobject("The private value");
15+
Class c=Privateobject.class;
16+
Field privatestringfield=c.getDeclaredField("privatestring");
17+
privatestringfield.setAccessible(true);
18+
String fieldvalue=(String)privatestringfield.get(privateobject);
19+
System.out.println("Field value="+fieldvalue);
20+
21+
//Code for modifying the contents of private field-
22+
23+
System.out.println("changed value of private field is : ");
24+
privatestringfield.set(privateobject,"changed value");
25+
String fieldvalue1=(String)privatestringfield.get(privateobject);
26+
System.out.println("Field value="+fieldvalue1);
27+
}
28+
}
29+
30+
/* OUTPUT-
31+
Field value=The private value
32+
changed value of private field is :
33+
Field value=changed value */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import java.lang.reflect.*;
2+
class Privateobject
3+
{
4+
private String privatestring=null;
5+
public Privateobject(String privatestring)
6+
{
7+
this.privatestring=privatestring;
8+
}
9+
private String getprivatestring(int a,char b)
10+
{
11+
System.out.println("a="+a);
12+
System.out.println("b="+b);
13+
System.out.println("This is getprivatestring");
14+
return this.privatestring;
15+
}
16+
private String getprivatestring1(int a1,char b1)
17+
{
18+
System.out.println("a1="+a1);
19+
System.out.println("b1="+b1);
20+
System.out.println("This is getprivatestring1");
21+
return this.privatestring;
22+
}
23+
}
24+
class Temp
25+
{
26+
public static void main(String... w)throws Exception
27+
{
28+
Privateobject privateobject=new Privateobject("The private value");
29+
Object o[]={5,'c'};
30+
Class c[]={int.class,char.class};
31+
Method privatestringmethod=Privateobject.class.getDeclaredMethod("getprivatestring",c);
32+
privatestringmethod.setAccessible(true);
33+
String returnvalue=(String)privatestringmethod.invoke(privateobject,o);
34+
System.out.println("Return Value="+returnvalue);
35+
}
36+
}
37+
38+
/* OUTPUT-
39+
a=5
40+
b=c
41+
This is getprivatestring
42+
Return Value=The private value */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import java.lang.reflect.*;
2+
class Privateobject
3+
{
4+
private String privatestring=null;
5+
public Privateobject(String privatestring)
6+
{
7+
this.privatestring=privatestring;
8+
}
9+
private String getprivatestring(int a,char b)
10+
{
11+
System.out.println("a="+a);
12+
System.out.println("b="+b);
13+
return this.privatestring;
14+
}
15+
}
16+
class Temp
17+
{
18+
public static void main(String... w)throws Exception
19+
{
20+
Privateobject privateobject=new Privateobject("The private value");
21+
Object o[]={5,'c'};
22+
Class c[]={char.class,int.class};
23+
Method privatestringmethod=Privateobject.class.getDeclaredMethod("getprivatestring",c);
24+
privatestringmethod.setAccessible(true);
25+
String returnvalue=(String)privatestringmethod.invoke(privateobject,o);
26+
System.out.println("Return Value="+returnvalue);
27+
}
28+
}
29+
30+
/* OUTPUT-
31+
Exception in thread "main" java.lang.NoSuchMethodException: Privateobject.getprivatestring(char, int)
32+
at java.lang.Class.getDeclaredMethod(Unknown Source)
33+
at Temp.main(Privateobject.java:23) */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import java.lang.reflect.*;
2+
class Privateobject
3+
{
4+
private String privatestring=null;
5+
public Privateobject(String privatestring)
6+
{
7+
this.privatestring=privatestring;
8+
}
9+
private String getprivatestring(int a,char b)
10+
{
11+
System.out.println("a="+a);
12+
System.out.println("b="+b);
13+
return this.privatestring; // 'this' is optional.
14+
}
15+
}
16+
class Temp
17+
{
18+
public static void main(String... w)throws Exception
19+
{
20+
Privateobject privateobject=new Privateobject("The private value");
21+
Object o[]={5,'c'};
22+
Class c[]={int.class,char.class};
23+
Method privatestringmethod=Privateobject.class.getDeclaredMethod("getprivatestring",c);
24+
privatestringmethod.setAccessible(true);
25+
String returnvalue=(String)privatestringmethod.invoke(privateobject,o);
26+
System.out.println("Return Value="+returnvalue);
27+
}
28+
}
29+
30+
/* OUTPUT-
31+
a=5
32+
b=c
33+
Return Value=The private value */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import java.lang.reflect.*;
2+
class Privateobject
3+
{
4+
private String privatestring=null;
5+
public Privateobject(String privatestring)
6+
{
7+
this.privatestring=privatestring;
8+
}
9+
private String getprivatestring(int a,int b)
10+
{
11+
System.out.println("a="+a);
12+
System.out.println("b="+b);
13+
return this.privatestring;
14+
}
15+
}
16+
class Temp
17+
{
18+
public static void main(String... w)throws Exception
19+
{
20+
Privateobject privateobject=new Privateobject("The private value");
21+
Object o[]={5,10};
22+
Class c[]={int.class,int.class};
23+
Method privatestringmethod=Privateobject.class.getDeclaredMethod("getprivatestring",c);
24+
privatestringmethod.setAccessible(true);
25+
String returnvalue=(String)privatestringmethod.invoke(privateobject,o);
26+
System.out.println("Return Value="+returnvalue);
27+
}
28+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import java.lang.reflect.*;
2+
class Privateobject
3+
{
4+
private String privatestring=null;
5+
public Privateobject(String privatestring)
6+
{
7+
this.privatestring=privatestring;
8+
}
9+
private String getprivatestring(int a,char b)
10+
{
11+
System.out.println("a="+a);
12+
System.out.println("b="+b);
13+
System.out.println("This is getprivatestring");
14+
return this.privatestring;
15+
}
16+
private String getprivatestring(int a1,char b1,String c1)
17+
{
18+
System.out.println("a1="+a1);
19+
System.out.println("b1="+b1);
20+
System.out.println("c1="+c1);
21+
System.out.println("This is getprivatestring");
22+
return this.privatestring;
23+
}
24+
}
25+
class Temp
26+
{
27+
public static void main(String... w)throws Exception
28+
{
29+
Privateobject privateobject=new Privateobject("The private value");
30+
Object o[]={5,'c',"Hello"};
31+
Class c[]={int.class,char.class,String.class};
32+
Method privatestringmethod=Privateobject.class.getDeclaredMethod("getprivatestring",c);
33+
privatestringmethod.setAccessible(true);
34+
String returnvalue=(String)privatestringmethod.invoke(privateobject,o);
35+
System.out.println("Return Value="+returnvalue);
36+
}
37+
}
38+
39+
/* OUTPUT-
40+
a1=5
41+
b1=c
42+
c1=Hello
43+
This is getprivatestring
44+
Return Value=The private value */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import java.lang.reflect.*;
2+
class Privateobject
3+
{
4+
private String privatestring=null;
5+
public Privateobject(String privatestring)
6+
{
7+
this.privatestring=privatestring;
8+
}
9+
private String getprivatestring()
10+
{
11+
return this.privatestring;
12+
}
13+
}
14+
class Temp
15+
{
16+
public static void main(String... w)throws Exception
17+
{
18+
Privateobject privateobject=new Privateobject("The private value");
19+
Method privatestringmethod=Privateobject.class.getDeclaredMethod("getprivatestring",null);
20+
privatestringmethod.setAccessible(true);
21+
String returnvalue=(String)privatestringmethod.invoke(privateobject,null);
22+
System.out.println("Return Value="+returnvalue);
23+
}
24+
}
25+
26+
/* OUTPUT-
27+
Return Value=The private value */
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import java.lang.reflect.*;
2+
class Privateobject
3+
{
4+
private static String getprivatestring(int a,char b,String s)
5+
{
6+
System.out.println("a="+a);
7+
System.out.println("b="+b);
8+
return s;
9+
}
10+
}
11+
class Temp
12+
{
13+
public static void main(String... w)throws Exception
14+
{
15+
Privateobject privateobject=new Privateobject();
16+
Object o[]={5,'c',"Hello"};
17+
Class c[]={int.class,char.class,String.class};
18+
Method privatestringmethod=Privateobject.class.getDeclaredMethod("getprivatestring",c);
19+
privatestringmethod.setAccessible(true);
20+
String returnvalue=(String)privatestringmethod.invoke(null,o);
21+
System.out.println("Return Value="+returnvalue);
22+
}
23+
}
24+
25+
/* OUTPUT-
26+
a=5
27+
b=c
28+
Return Value=Hello */

Class loading & static block/Cls.java

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class Cls
2+
{
3+
public static void main(String... w)
4+
{
5+
try{
6+
Class c=Class.forName("Temp");
7+
System.out.println("This is Cls");
8+
}catch(Exception e){System.out.println(e);}
9+
}
10+
}
11+
12+
/* OUTPUT-
13+
static block
14+
This is Cls
15+
16+
First,you have to compile 'Temp.java' as well as 'Cls.java' both.If you will not compile 'Temp.java' and try to run 'Cls.java'
17+
then 'java.lang.ClassNotFoundException: Temp' will occur. */

0 commit comments

Comments
 (0)