老师方法内部类我就想用这个无参带返回值的该怎样修改呢?

老师方法内部类我就想用这个无参带返回值的该怎样修改呢?

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
//接口Ball
public interface  Ball {
    //创建抽象方法play():void
    void play();
  
}
 
 
 
//创建类BallTest
public class BallTest implements Ball {
    // 创建成员内部类Inner_m
    public class Inner_m {
        public void play(){
            System.out.println("打篮球");
        }
    }
    public void play(){
         
    }
    // 创建方法内部类
    public Object inside(){
        class infor implements Ball{
            public void play(){
                System.out.println("****************");
                System.out.println("打乒乓球");
            }
        }
        return new infor().play();
    }
 
 
    // 定义一个方法void playBall(Ball ball),调用play()方法
    public void playBall(Ball ball){
        ball.play();
    }
}
 
 
 
//测试类
public class Test {
 
    public static void main(String[] args) {
     
        //完成成员内部类内部测试
    BallTest.Inner_m one=new BallTest().new Inner_m();
    one.play();
        //完成方法内部类测试
    BallTest two=new BallTest();
    System.out.println(two.inside());
        //完成匿名内部类测试
    two.playBall(new Ball(){
        public void play(){
            System.out.println("**************");
            System.out.println("打排球");
        }
    });
    }
 
}


正在回答

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

2回答

同学你好,非常抱歉老师之前没有理解同学想表达的意思,在方法内部类infor 的play方法中,是没有参数没有返回值的,所以return语句中,play方法并没有返回值,所以不能写在return中。同学可以先创建这个对象,调用play方法,再来返回这个对象,例如:

http://img1.sycdn.imooc.com//climg/5e68480909789da206060259.jpg

http://img1.sycdn.imooc.com//climg/5e684832094efc7e05420496.jpg

如上所示,再来尝试一下。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小班 2020-03-10 18:44:19

同学你好,想用无参带返回值的方法,现在同学在方法内部类中使用的就是无参带返回值的方法呐

http://img1.sycdn.imooc.com//climg/5e676f4109156bfb06350308.jpg

http://img1.sycdn.imooc.com//climg/5e676f4f09d9b39e06010447.jpg

所以同学是想怎么修改这个代码呐,还麻烦同学具体描述一下。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕UI6522375 #1
    我想知道为什么做到像你标注的这两点程序依然错误,我现在这个代码编译错误的地方就是这个创建方法内部类这里,,,难道创建方法内部类若想写成带返回值的形式必须用get方法吗,,,我不明白我这样写为什么行不通?该怎样修改呢?
    2020-03-10 20:25:05
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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