មេរៀនទី៥៥: សមាជិក inner class
1)Member inner class
class មួយដែលត្រូវបានប្រកាស ខាងក្នុង class ប៉ុន្តែនៅខាងក្រៅ method ដូចជា member inner class។
ឧទាហរណ៍នៃ member inner class ដែលនៅក្នុង class មួយ
ក្នុងឧទាហរណ៍នេះ, method of member inner class ពីបង្ហាញ method of Outer class
class TestMemberOuter1{
private int data=30;
class Inner{
void msg(){System.out.println(“data is “+data);}
}
void display(){
Inner in=new Inner();
in.msg();
}
public static void main(String args[]){
TestMemberOuter1 obj=new TestMemberOuter1();
obj.display();
}
}
Output:data is 30
Internal code បង្កើត compiler សម្រាប់ member inner class:
java compiler បង្កើត class file named Outer$Inner ក្នុងករណីនេះ។ Member inner class មាន reference of Outer class ។
import java.io.PrintStream;
class Outer$Inner
{
final Outer this$0;
Outer$Inner()
{ super();
this$0 = Outer.this;
}
void msg()
{
System.out.println((new StringBuilder()).append(“data is “)
.append(Outer.access$000(Outer.this)).toString());
}
}
ឧទាហរណ៍នៃ member inner class ដែលនៅក្រៅ class
msg() method of Inner class ពីខាងក្រៅ outer class ឧទាហរណ៍ Test class.
//Program of member inner class that is invoked outside a class
class Outer{
private int data=30;
class Inner{
void msg(){System.out.println(“data is”+data);}
}
}
class TestMemberInner{
public static void main(String args[]){
Outer obj=new Outer();
Outer.Inner in=obj.new Inner();
in.msg();
}
}
Output:data is 30
class មួយដែលត្រូវបានប្រកាស ខាងក្នុង class ប៉ុន្តែនៅខាងក្រៅ method ដូចជា member inner class។
ឧទាហរណ៍នៃ member inner class ដែលនៅក្នុង class មួយ
ក្នុងឧទាហរណ៍នេះ, method of member inner class ពីបង្ហាញ method of Outer class
class TestMemberOuter1{
private int data=30;
class Inner{
void msg(){System.out.println(“data is “+data);}
}
void display(){
Inner in=new Inner();
in.msg();
}
public static void main(String args[]){
TestMemberOuter1 obj=new TestMemberOuter1();
obj.display();
}
}
Output:data is 30
Internal code បង្កើត compiler សម្រាប់ member inner class:
java compiler បង្កើត class file named Outer$Inner ក្នុងករណីនេះ។ Member inner class មាន reference of Outer class ។
import java.io.PrintStream;
class Outer$Inner
{
final Outer this$0;
Outer$Inner()
{ super();
this$0 = Outer.this;
}
void msg()
{
System.out.println((new StringBuilder()).append(“data is “)
.append(Outer.access$000(Outer.this)).toString());
}
}
ឧទាហរណ៍នៃ member inner class ដែលនៅក្រៅ class
msg() method of Inner class ពីខាងក្រៅ outer class ឧទាហរណ៍ Test class.
//Program of member inner class that is invoked outside a class
class Outer{
private int data=30;
class Inner{
void msg(){System.out.println(“data is”+data);}
}
}
class TestMemberInner{
public static void main(String args[]){
Outer obj=new Outer();
Outer.Inner in=obj.new Inner();
in.msg();
}
}
Output:data is 30
Post a Comment