请问为什么结果里会有Test$1@73549af8 哪里错了呢?

来源:6-10 编程练习

carlcs

2019-04-19 18:06:05

public class Test {
   public static void main(String[] args) {
       BallTest.Inner_m a = new BallTest().new Inner_m();
       System.out.println(a.play());

       BallTest b = new BallTest();
       System.out.println(b.info());


       System.out.println(new BallTest(){
                              @Override
                              public String play() {
                                  String str = "匿名内部类:打排球";
                                  return str;
                              }
                          }
           );



   }

}





public class BallTest implements Ball{
   public void playBall(Ball ball){
       ball.play();
   }

   @Override
   public String play() {
       return null;
   }

   class Inner_m implements Ball{
       @Override
       public String play() {
           String str = "成员内部类 打篮球";
           return str;
       }
   }

   public String info(){
       class Inner_f implements Ball{
           @Override
           public String play() {
               String str ="方法内部类 打乒乓球";
               return str;

           }
       }
       return new Inner_f().play();
   }
}


public interface Ball {
    String play();
}



输出显示

成员内部类 打篮球

方法内部类 打乒乓球

Test$1@73549af8


写回答

3回答

好帮手慕阿莹

2019-04-22

同学你好,这里调用一下你写的这个方法就可以了:

http://img.mukewang.com/climg/5cbd96370001d2e311290558.jpg

之前打印toString方法是因为如果你要打印一个对象的时候,这个对象的类重新了toString 方法,它会自动去调用的。

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



0

好帮手慕阿莹

2019-04-22

同学可以在BallTest中按快捷键Alt+shift+s   

http://img.mukewang.com/climg/5cbd216b00012ea903770411.jpg

http://img.mukewang.com/climg/5cbd2185000190df05430763.jpg

http://img.mukewang.com/climg/5cbd219800015d8d11880142.jpg

自动生成一个toString方法

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

0
harlcs
h 我明白你的意思,但是我想问一下用匿名内部类可以返回一个Str的值吗,我这个方法应该怎么改才能正常输出呢,而且为什么我这么写匿名内部类调用的却是toString方法呢? 希望大佬给予解答
h019-04-22
共1条回复

吃吃吃鱼的猫

2019-04-19

同学你好,原因如下:

http://img.mukewang.com/climg/5cb9a5050001ad4308060320.jpg

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

0
harlcs
h 那应该怎么改呢
h019-04-22
共1条回复

0 学习 · 11489 问题

查看课程