匿名内部类----应用
2017-10-17 10:56
84 查看
interface Inter6 { void show1(); void show2(); } class Outer6 {//非匿名内部类 // class Inner implements Inter // { // public void show1() { // // } // public void show2() { // // } // } public void method() { // Inner in = new Inner(); // in.show1(); // in.show2(); //匿名内部类 但是如果我想多次调用 比如两次调用里面的show1和show2 //两次调用new两次太麻烦了 所以可以 Inter6 in = new Inter6() new Inter6() { public void show2() { } public void show1() { } }; in.show1(); in.show2(); } } /* 通常的使用场景之一: 当函数参数是接口类型时,而且接口中的方法不超过三个。 可以用匿名内部类作为实际参数作为传递, */ //原先的操作: /*public class InnerClassDemo5 { public static void main(String[] args) { // TODO Auto-generated method stub show(new InterImpl6()); } //使用接口 public static void show(Inter6 in) { in.show1(); in.show2(); } } //实现接口 class InterImpl6 implements Inter6 { public void show1(){} public void show2(){} }*/ //现在的操作: public class InnerClassDemo5 { pu 4000 blic static void main(String[] args) { // TODO Auto-generated method stub show(new Inter6(){ public void show1(){} public void show2(){} });//直接new然后在里面覆盖 } //使用接口 public static void show(Inter6 in) { in.show1(); in.show2(); } }
相关文章推荐
- 匿名内部类----应用
- 内部类 和匿名内部类的基本应用
- 匿名内部类----应用
- 匿名内部类----应用
- 匿名内部类----应用
- 匿名内部类----应用
- 匿名内部类----应用
- 匿名内部类----应用
- 匿名内部类----应用
- 匿名内部类----应用
- 匿名内部类在多线程中的应用
- @Autowired、@Resource和@Qualifier的应用
- Kafka,storm,Zookeeper,flume,Dubbo,Spark简介及应用
- Win8.1自带Metro应用无法使用提示请与管理员联系
- poj 2886 Who Gets the Most Candies? (线段树单点更新应用)
- C语言的简单应用-数组实现多项式
- 返回android应用主界面的点击事件
- 栈的应用之一----------进制转换
- Android中包含多个Activity的应用退出按钮实现