老师,帮我看看代码需要修改的地方,特别是匿名内部类

老师,帮我看看代码需要修改的地方,特别是匿名内部类

//测试类
public class Test{
	
	public void getBall(Ball ball) {
		
	}

	public static void main(String[] args) {
		BallTest zero = new BallTest();
		//完成成员内部类内部测试
		BallTest.Inner_m one =new BallTest().new Inner_m();
		System.out.println(one.play()); 
		//完成方法内部类测试
		System.out.println(zero.info()); 
		//完成匿名内部类测试
	    zero.playBall ( new Ball() {
	    	@Override
	    	public String play() {
	    		System.out.println("**********");
	    		System.out.println("匿名内部类:");
	    		System.out.println("打排球");
	    		return "";
	    	}	    	
	    });
	}
}
//创建类BallTest
public class BallTest implements Ball {
	
	public BallTest() {
		
	}
	
    // 创建成员内部类Inner_m
    class Inner_m implements Ball{
        public Inner_m(){
            System.out.println("成员内部类:");
        }
        public String play(){
            return "打篮球";
        }
    }

	// 创建方法内部类
    public Object info(){
        class Inner_f implements Ball{
            public Inner_f(){
                System.out.println("**********");
                System.out.println("方法内部类:");
            }
            
            @Override
            public String play(){
                return "打乒乓球";
            }
        }
        return new Inner_f().play();
    }

	// 定义一个方法void playBall(Ball ball),调用play()方法
    public void playBall(Ball ball){
        ball.play();
    }
    
	@Override
	public String play() {
		// TODO Auto-generated method stub
		return "";
	}

}
//接口Ball
public interface Ball {
    //创建抽象方法play():void
    public String play();
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2022-09-17 09:53:34

同学你好,同学的代码符合题目要求,逻辑清晰,书写规范,做的很棒。

不过一点小瑕疵,外部类BallTest没有必要实现Ball接口,可以删除该部分代码;

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师