A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Morrfree 中级黑马   /  2015-8-9 23:24  /  192 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

匿名内部类
前提:存在一个类或者接口.(类可以是抽象类,也可以是具体类)
格式:new 类名或者接口名(){重写方法;},存在于方法当中.
本质:是一个继承了类或者实现了接口子类的匿名对象.
匿名内部类具体格式:
interface 接口名{
抽象方法;
}
class 类名{
方法名(){
new 接口名(){
重写接口抽象方法;
};
}
}
调用匿名内部了中方法的两种形式:
第一种:在匿名内部类代码块的大括号外(.方法名;).然后通过在别的类中创建外部类对象调用匿名内部类存在的那个方法即可.



第二种:在new 接口名()前面用接口的引用变量接收,格式
接口名 引用变量 = new 接口名(){
重写方法
};
引用变量.被重写的抽象方法的方法名;
第二种其实就是多态,接口本来是不能创建对象的,在这里接口指向了实现了它的子类对象.引用变量指向的是子类对象(就是匿名内部类).

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马