Java 匿名内部类的详解
2016-07-19 10:36
561 查看
匿名内部类:就是没有类名字的内部类。
匿名内部类作用:简化内部类书写。
匿名内部类的前提:必须继承一个父类或者是实现一个接口。
匿名内部类的格式:
new 父类或者接口(){
执行代码….};
内部类的写法是这样的:
public class Outer {
//内部类的写法
class Inner{
public void show(){
System.out.println("内部类的show方法");
}
}
public void print(){
new Inner().show();
}
}
匿名内部类调用show方法:
abstract class Inner{
abstract void show();
}
public class Outer {
//匿名内部类的写法
public void print(){
new Inner() {
@Override
void show() {
// TODO Auto-generated method stub
System.out.println("匿名内部类的show方法");
}
}.show();
}
}
案例:在外部类调用show1、show2方法。内部类的实现方法
使用匿名内部类实现:
注意细节:
使用匿名内部类时,如果需要调用匿名内部类的两个方法或者两个方法以上。可以使用变量指向该对象。
匿名内部类作用:简化内部类书写。
匿名内部类的前提:必须继承一个父类或者是实现一个接口。
匿名内部类的格式:
new 父类或者接口(){
执行代码….};
内部类的写法是这样的:
public class Outer {
//内部类的写法
class Inner{
public void show(){
System.out.println("内部类的show方法");
}
}
public void print(){
new Inner().show();
}
}
匿名内部类调用show方法:
abstract class Inner{
abstract void show();
}
public class Outer {
//匿名内部类的写法
public void print(){
new Inner() {
@Override
void show() {
// TODO Auto-generated method stub
System.out.println("匿名内部类的show方法");
}
}.show();
}
}
案例:在外部类调用show1、show2方法。内部类的实现方法
class Outer{ class Inner{ public void show1(){ System.out.println("show1"); } public void show2(){ System.out.println("show2"); } } public void print() { Inner inner=new Inner(); inner.show1(); inner.show2(); } }
使用匿名内部类实现:
interface Inner{ public void show1(); public void show2(); } class Outer{ Inner inner=new Inner() { @Override public void show2() { // TODO Auto-generated method stub System.out.println("show2"); } @Override public void show1() { // TODO Auto-generated method stub System.out.println("show1"); } }; public void print(){ inner.show1(); inner.show2(); } }
注意细节:
使用匿名内部类时,如果需要调用匿名内部类的两个方法或者两个方法以上。可以使用变量指向该对象。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树