------- android培训、java培训、期待与您交流! ----------
//*****************************************************
//
// 匿名类定义在赋值语句中。
// 匿名类定义在方法调用语句中。
// 匿名类定义在return语句中。
//
//*****************************************************
interface Outer
{
public abstract void func();
}
//*****************************************************
// No.1 匿名类是定义在赋值语句中。
//*****************************************************
class AnonymousC
{
public static void main(String[] args)
{
Outer o = new Outer()
{
public void func(){
System.out.println("匿名类调用1");
}
};
o.func();//调用方法 1 //将o的赋值替换掉就是2
new Outer()
{
public void func(){
System.out.println("匿名类调用2");
}
}.func();//调用方法 2
}
}
//*****************************************************
// No.2 匿名类是定义在方法调用语句中。
//*****************************************************
class AnonymousC
{
public static void main(String[] args)
{
Outer o = new Outer()
{
public void func(){
System.out.println("匿名类调用3");
}
};
fun(o);//调用方法 3 //将o的赋值替换掉就是4
fun(
new Outer()
{
public void func(){
System.out.println("匿名类调用4");
}
}
);//调用方法 4
}
public static void fun (Outer o)
{
o.func();
}
}
//*****************************************************
// No.3 匿名类是定义在return语句中。
//*****************************************************
class AnonymousC
{
public static void main(String[] args)
{
fun().func();//调用方法 5
fun1().func();//调用方法 6
}
public static Outer fun()
{
Outer o = new Outer()
{
public void func(){
System.out.println("匿名类调用5");
}
};
return o;//将o的赋值替换掉就是6
}
public static Outer fun1()
{
return new Outer()
{
public void func(){
System.out.println("匿名类调用6");
}
};
}
}