错误提示:The method play() is undefined for the type Object

错误提示: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();      

}


正在回答

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

2回答

同学你好,同学可以通过如下方式进行调用

playBall()方法中调用了play方法,所以可以通过调用playBall()调用到play()方法

http://img1.sycdn.imooc.com//climg/609cf87b098ffd4004970347.jpg

如下

one.playBall((Ball)one.info());

祝学习愉快~

  • 晓舟 提问者 #1

    public void playBall(Ball ball){

    ball.play();

    }


    这里传入一个对象的实例,然后调用play方法。 ball.play(); 这个语句又是调用哪个方法呢?

    2021-05-14 12:04:36
  • 好帮手慕阿园 回复 提问者 晓舟 #2

    同学你好,调用的如上play()方法

    http://img1.sycdn.imooc.com//climg/609e24d7098cf27b05100933.jpg

    祝学习愉快~

    2021-05-14 15:24:06
晓舟 提问者 2021-05-15 16:07:49

实例化对象后,通过外部类的普通方法去调用方法内部类的无参无返回值方法,有相关的教程吗?我好像没找到:(

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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