本帖最后由 杨长川 于 2013-3-27 13:33 编辑
看到毕老师的第十二天的最后个视频,开发中常用创建多线程的几种方式,其中有一种是通过匿名内部类创建的,想到毕老师之前讲的接口是不可能创建对象的,因为有抽象方法。需要被子类实现(implements),子类对接口中的抽象方法全都覆盖后,子类才可以实例化。但是这个代码里,new Runnable()、Runnable就是个接口,这不是在创建对象吗?是因为内部类没有名字就没法创建对象,要用接口来创建,然后{ }里的代码来实现这个接口,传给了接口后,这样就返回一个匿名子类的对象??有点不明白,大家是怎么理解的呢?- Runnable r = new Runnable()
- {
- public void run()
- {
- for (int x = 0;x<80 ;x++ )
- {
- System.out.println(Thread.currentThread().getName()+"......"+x);
- }
- }
- };
- new Thread(r).start();
复制代码 |