本帖最后由 silencelj 于 2015-4-8 10:52 编辑
由于代码多了点只能用两次回复了,希望能帮助你!!!
//首先是建立一个父类,这是定义内部类的前提
abstract class AbsDemo
{
abstract void show();
}
//建立一个外部类
class Outer
{
public void function()
{
AbsDemo d = new AbsDemo()
{
void show()
{
System.out.println();
}
void abc()
{
System.out.println("");
}
}.show() //通过匿名内部类调用方法,show();匿名对象对方法只能调用一次
//d.abc() 会出错,因为父类中没有定义abc()方法。
//---------------------------测试----------------------------------------
//使用输出语句部分打印匿名内部类建立对象的部分,
//证实AbsDemo d = new Inner();其中{}部分是实现内部类的创建对象。
System.out.println(
new AbsDemo()
{
void show()
{
System.out.println("测试:打印匿名内部类创建的是对象");
}
}
);
//Outer$1@ca0b6--------打印对象的结果,说明已经创建Inner匿名内部类对象然后通过 “ . show()”方式调用方法。
//-------------------------------------------------------------------------
}
}
class InnerClassDemo
{
public static void main(String []args)
{
Outer out = new Outer();
out.function();
}
}
|