分别通过成员内部类、方法内部类、匿名内部类完成接口Ball,在测试类BallTest中的调用。 程序参考运行效果图如下:  任务分析: 1. 创建接口Ball - 包含抽象方法play( ) 2. 创建外部类BallTest - 定义方法 void playBall(Ball ball),调用接口中的 play( ) 方法 3. 分别通过成员内部类、方法内部类以及匿名内部类完成接口实现 - 在BallTest中,创建成员内部类 Inner_m 实现接口Ball,在类中重写 play( ) 方法,输出两条信息,分别为"成员内部类:"和"打篮球" - 在BallTest中, 创建成员方法 info() ,在方法中创建方法内部类 Inner_f 实现Ball接口,重写 play( ) 方法,输出三条信息,分别为"**********","方法内部类:" 和 "打乒乓球" - 在测试类Test中通过匿名内部类实现接口Ball,并重写 play( )方法,输出两条信息,分别为 "**********","匿名内部类:" 和 "打排球" 4. 创建测试类Test,通过创建BallTest类及相关内部类实例,调用相关方法,依次完成相关内部类测试。运行效果参见效果图 ```java package me.feihong.ball; public interface IBall { //创建抽象方法play void play(); } ``` ```java package me.feihong.ball; public class BallTest { // 创建成员内部类Inner_m public class Inner_m implements IBall { @Override public void play() { // TODO Auto-generated method stub System.out.println("成员内部类:"); System.out.println("打篮球"); } } // 创建方法内部类 public void info() { class Inner_f implements IBall{ @Override public void play() { // TODO Auto-generated method stub System.out.println("*******************"); System.out.println("方法内部类:"); System.out.println("打乒乓球"); } } Inner_f inner_f=new Inner_f(); inner_f.play(); } // 定义一个方法void playBall(Ball ball),调用play()方法 public static void playBall(IBall ball) { ball.play(); } } ``` ```java package me.feihong.test; import me.feihong.ball.BallTest; import me.feihong.ball.IBall; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub //成员内部类 BallTest.Inner_m nbl=new BallTest().new Inner_m(); nbl.play(); //方法内部类 BallTest ffl=new BallTest(); ffl.info(); //匿名内部类 BallTest.playBall(new IBall(){ @Override public void play() { System.out.println("*******************"); System.out.println("匿名内部类"); System.out.println("打排球"); } }); } } ``` Loading... 分别通过成员内部类、方法内部类、匿名内部类完成接口Ball,在测试类BallTest中的调用。 程序参考运行效果图如下:  任务分析: 1. 创建接口Ball - 包含抽象方法play( ) 2. 创建外部类BallTest - 定义方法 void playBall(Ball ball),调用接口中的 play( ) 方法 3. 分别通过成员内部类、方法内部类以及匿名内部类完成接口实现 - 在BallTest中,创建成员内部类 Inner_m 实现接口Ball,在类中重写 play( ) 方法,输出两条信息,分别为"成员内部类:"和"打篮球" - 在BallTest中, 创建成员方法 info() ,在方法中创建方法内部类 Inner_f 实现Ball接口,重写 play( ) 方法,输出三条信息,分别为"**********","方法内部类:" 和 "打乒乓球" - 在测试类Test中通过匿名内部类实现接口Ball,并重写 play( )方法,输出两条信息,分别为 "**********","匿名内部类:" 和 "打排球" 4. 创建测试类Test,通过创建BallTest类及相关内部类实例,调用相关方法,依次完成相关内部类测试。运行效果参见效果图 ```java package me.feihong.ball; public interface IBall { //创建抽象方法play void play(); } ``` ```java package me.feihong.ball; public class BallTest { // 创建成员内部类Inner_m public class Inner_m implements IBall { @Override public void play() { // TODO Auto-generated method stub System.out.println("成员内部类:"); System.out.println("打篮球"); } } // 创建方法内部类 public void info() { class Inner_f implements IBall{ @Override public void play() { // TODO Auto-generated method stub System.out.println("*******************"); System.out.println("方法内部类:"); System.out.println("打乒乓球"); } } Inner_f inner_f=new Inner_f(); inner_f.play(); } // 定义一个方法void playBall(Ball ball),调用play()方法 public static void playBall(IBall ball) { ball.play(); } } ``` ```java package me.feihong.test; import me.feihong.ball.BallTest; import me.feihong.ball.IBall; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub //成员内部类 BallTest.Inner_m nbl=new BallTest().new Inner_m(); nbl.play(); //方法内部类 BallTest ffl=new BallTest(); ffl.info(); //匿名内部类 BallTest.playBall(new IBall(){ @Override public void play() { System.out.println("*******************"); System.out.println("匿名内部类"); System.out.println("打排球"); } }); } } ``` 最后修改:2019 年 12 月 31 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏