您的位置:首页 > 编程语言 > Java开发

java简单匿名内部类练习

2016-05-23 15:29 375 查看
匿名内部类就是没有名字的内部类

匿名内部类的三种情况:

一、继承式的匿名内部类

二、接口式的匿名内部类

三、参数式的匿名内部类

在使用匿名内部类时,要记住以下几个原则:

(1)不能有购置方法,只能有一个实力。

(2)不能定义在任何静态成员、静态方法。

(3)不能是public.protected.private.static.

(4)一定是在new的后面,用其隐含实现一个接口或一个类。

(5)匿名内部类为局部的,所以局部内部类的所有限制都对其有效。

内部类的作用:

每个内部类都能独立地承受来自一个(接口的)实现。所以无论外部类是否已经继承了某个(接口的)实现,

对于内部类都没有影响。

如果没有内部类提供的可以继承多个具体的或抽象的类的能力,一些设计与编程问题就很难解决。从这个教的看,内部类的使得多继承的解决方案变得完整。接口解决了部分问题,而内部类有效地实现了“多重继承”。

public class test_12_3
{
public static void main(String[] args)
{
OuterClass outer = new OuterClass();
outer.print_3();//接口式的匿名内部类
outer.print_4(new Child() //参数式匿名内部类
{
public void desc()
{
System.out.print("参数式匿名内部类");
}
});
}
}

class OuterClass
{

public void print_3()
{
/*class InnerClass_3 implements Child//继承式的匿名内部类
{

}*/
//也是Android重要写法
Child c = new Child()//直接调用内部类(new的是匿名内部类)
{
public void desc()//匿名内部类对象
{
System.out.println("匿名内部类");
}
};
c.desc();// 内部实现
}
public void print_4(Child c)
{
c.desc();
}

}

interface Child //匿名内部类练习
{
public void desc();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: