6-10编程练习中方法内部类需要返回值,但是play方法又是void

6-10编程练习中方法内部类需要返回值,但是play方法又是void

6-10编程练习中方法内部类需要返回值,但是play方法又是void

该怎么实现方法内部类,使用return new Inner_f().play();不能返回void结果,可是play就是定义为void,请问老师这个怎么解决

正在回答

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

2回答
public interface Ball {
    //创建抽象方法play():void
    void play();
}
//创建类BallTest
public class BallTest {
    // 创建成员内部类Inner_m
	public class Inner_m implements Ball{
	@Override
	public void play() {
		// TODO Auto-generated method stub
		System.out.println("成员内部类:");
		System.out.println("打篮球");
		//System.out.println("***************");
	}
	}
    
	// 创建方法内部类
    public void info() {
		class Inner_f implements Ball{
			@Override
			public void play() {
				// TODO Auto-generated method stub
				System.out.println("***************");
				System.out.println("方法内部类:");
				System.out.println("打乒乓球");
			}
		}
		new Inner_f().play();
	}

	// 定义一个方法void playBall(Ball ball),调用play()方法
	public void playball(Ball ball) {
		ball.play();
	}
	
}

//测试类
public class Test {

    public static void main(String[] args) {
		//完成成员内部类内部测试
		BallTest bt = new BallTest();
		BallTest.Inner_m m = bt.new Inner_m();
		m.play();		
		//完成方法内部类测试
        bt.info();	
		//完成匿名内部类测试
		new Ball() {
			@Override
			public void play() {
				// TODO Auto-generated method stub
				System.out.println("***************");
				System.out.println("匿名内部类:");
				System.out.println("打排球");
			}
		}.play();
	}

}


//完成匿名内部类测试

new Ball() {

@Override

public void play() {

// TODO Auto-generated method stub

System.out.println("***************");

System.out.println("匿名内部类:");

System.out.println("打排球");

}

}.play();





  • JasonHing 提问者 #1
    非常感谢!
    2017-09-16 22:38:55
SuperAIStar 2017-09-16 18:37:44

我是这么写的,直接在后面加.play();就可以了


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

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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