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

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

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

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

正在回答

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

2回答
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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