面试题继承和实现的优先级
问:下面代码中将会执行哪个run()方法
// 面试题 new Thread(new Runnable() {@Overridepublic void run() {System.out.println("实现.....");}}){@Overridepublic void run() {System.out.println("继承.....");}}.start();
答:继承。
1.代码解释
创建了一个Thread的匿名子类对象同时传入了一个 Runnable接口的实现类对象,实现类里写了run方法,
这个Thread匿名子类对象里面又写了run方法,最后调用了start方法。
2.因为继承的优先级高于实现的优先级,所以运行第二个run()方法。