错误提示:The method play() is undefined for the type Object
如何在测试类的主方法里正确调用内部类的void plany打印输出方法?
package com.imooc.exercise.polymorphism;
//测试类
public class Test {
public static void main(String[] args) {
//完成成员内部类内部测试
BallTest.Inner_m basketball=new BallTest().new Inner_m();
basketball.play();
BallTest one=new BallTest();
//完成方法内部类测试
one.info().play();
//错误提示:The method play() is undefined for the type Object
}
}
package com.imooc.exercise.polymorphism;
//创建类BallTest
public class BallTest {
public Inner_m getInner_m() {
return new Inner_m();
}
// 创建成员内部类Inner_m
class Inner_m{
public void play(){
System.out.println("成员内部类:");
System.out.println("打篮球");
System.out.println("*********************");
}
}
// 创建方法内部类
public Object info() {
class Inner_f implements Ball{
public void play() {
System.out.println("******************");
System.out.println("方法内部类:");
System.out.println("打乒乓球");
}
}
return new Inner_f();
}
// 定义一个方法void playBall(Ball ball),调用play()方法
public void playBall(Ball ball) {
ball.play();
}
}
package com.imooc.exercise.polymorphism;
public interface Ball {
void play();
}
正在回答
同学你好,同学可以通过如下方式进行调用
playBall()方法中调用了play方法,所以可以通过调用playBall()调用到play()方法
如下
one.playBall((Ball)one.info());
祝学习愉快~
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星