Java 内部类详解( 二 )
使用static 定义内部接口(静态内部类) package neibu; public class Lian {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println();JieKou.Load load = new LoadFace();JieKou.Compare compare = new CompareFace();JieKou.getInfo(load, compare);}}interface JieKou{// 内部接口static interface Load {public abstract boolean loadData();}static interface Compare {public abstract void compareData();}public static void getInfo(Load sLoad , Compare sCompare) {if (sLoad.loadData()) {Compare.compareData();}else {System.out.println("加载失败");}} }class LoadFace implements JieKou.Load{public boolean loadData() {return true;} }class CompareFace implements JieKou.Compare{public voidcompareData() {System.out.println("compareData");} }
方法中定义内部类(局部类) package neibu;public class Lian {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println();Outer outer = new Outer(12);outer.getInfo();}}class Outer{private intage ;public Outer(int age ) {this.age = age ;}public voidgetInfo() {class Inter {// 内部类public void interFun() {System.out.println("interFun" + Outer.this.age) ;}}new Inter().interFun() ;} }
如果一个类只在某个方法中使用 , 则可以考虑使用局部类 。
匿名内部类 , 函数式接口匿名内部类使用广泛 , 如我们常用的绑定监听的时候 。
package neibu; public class Lian {public static void main(String[] args) {/*接口对象无法直接实例化 , 使用匿名内部类后就可以利用对象的实例化格式获取接口实例*/Face face= new Face() { // 匿名内部类@Overridepublic void name() {// TODO Auto-generated method stubSystem.out.println("sss");}};}}@FunctionalInterface interface Face {public abstract void name();}
在接口中利用匿名内部类实现接口 package neibu; public class Lian {public static void main(String[] args) {FaceN.getFace().name();}} interface FaceN {public abstract void name();public static FaceN getFace() {return new FaceN() {@Overridepublic void name() {System.out.println("在接口中利用匿名内部类实现接口");}};}}
适合于接口只有一个子类的时候 , 并且也可以对外部调用处隐含子类 。
- 推新标准建新生态,下载超198亿次金山发力海内外
- 看不上|为什么还有用户看不上华为Mate40系列来看看内行人怎么说
- 行业|现在行业内客服托管费用是怎么算的
- 整形美容|双十一医美不良事件高发 热玛吉风险高 业内:医美职业打假人太少
- 产业|前瞻生鲜电商产业全球周报第67期:发力社区团购!京东内部筹划“京东优选”
- 峰会|这场峰会厉害了!政府企业专家媒体共议网络内容生态治理
- 逛逛|淘宝内容化再升级:“买家秀”变身“逛逛”试图冲破算法局限
- 现状|程序员现状揭秘:平均年薪20.36万,Java人才需求量最大
- 走向|电商,从货架陈列走向内容驱动
- 涉嫌|李佳琦店铺被罚是怎么回事?店内洗发水涉嫌虚假宣传