1 import java.util.*; 2 interface Request{ 3 void execute(); 4 } 5 6 public class RequestQueue { 7 8 public static void main(String[]args){ 9 Queue requests = new LinkedList(); 10 11 for(int i = 1;i<6;i++){ 12 requests.offer(new Request() { 13 public void execute(){ 14 System.out.printf("处理数据 %f%n",Math.random()); 15 } 16 }); 17 18 } 19 process(requests); 20 } 21 22 private static void process(Queue requests) { 23 // TODO Auto-generated method stub 24 while (requests.peek()!=null){ 25 Request request = (Request) requests.poll(); 26 request.execute(); 27 } 28 } 29 30 }
这个是某本教材里面对于支持队列操作的Queue 的例子;
但是我想问的不是这个,想问问在代码中
requests.offer(new Request() { public void execute(){ System.out.printf("处理数据 %f%n",Math.random()); } });
这个里面的new还有里面放入一个execute是一种缩略写法么?
能帮我解释一下,后面好多例子都有这种写法,不缩写的话是怎么样的?
关于缩写省略的规则哪里文章有介绍的。
先谢谢各位帮忙的人了!谢谢!!