Java 匿名内部类
2016-05-11 11:32
323 查看
匿名内部类就是当所需要定义的类只需要调用一次的情况下,为了简便的写法,定义不需要名字的匿名内部类。匿名内部类必须要继承一个父类或实现一个接口。
举例:
这个例子中,Bird类在main函数中只调用一次,那么我们可以使用匿名内部类。把main函数中Animal animal =new Bird();改成匿名内部类定义。
匿名内部类,最典型的应用在线程和定时器的应用上,如Thread、Runnable和TimerTask的使用。
举例:
// 父类 abstract class Animal { public abstract void eat(); }
// 子类 class Bird extends Animal{ public void eat() { System.out.println("bird eat"); } }
public class main{ public static void main(String[] args) { Animal animal =new Bird(); animal.eat(); } }
这个例子中,Bird类在main函数中只调用一次,那么我们可以使用匿名内部类。把main函数中Animal animal =new Bird();改成匿名内部类定义。
// 父类 abstract class Animal { public abstract void eat(); }
public class main{ public static void main(String[] args) { Animal animal =new Animal(){ public void eat() { System.out.println("bird eat"); } }; animal.eat(); } }
匿名内部类,最典型的应用在线程和定时器的应用上,如Thread、Runnable和TimerTask的使用。
public class Test { public static void main(String[] args) { Thread t = new Thread() { public void run() { for (int i = 1; i <= 5; i++) { System.out.print(i + " "); } } }; t.start(); } }
public class Test{ public static void main(String[] args) { Runnable r = new Runnable() { public void run() { for (int i = 1; i <= 5; i++) { System.out.print(i + " "); } } }; Thread t = new Thread(r); t.start(); } }
相关文章推荐
- 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播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树