助教可以看看有什么累赘的或者可以改进的地方吗
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 62 63 64 65 | package com.zqy.ball; public interface Ball { public abstract String play(); } package com.zqy.ball; public class BallTest implements Ball{ @Override public String play() { // TODO Auto-generated method stub return null ; } public class Inner_m implements Ball{ @Override public String play() { // TODO Auto-generated method stub return "成员内部类:" + '\r' + "打篮球" ; } } public Object info(){ class Inner_f implements Ball{ @Override public String play() { // TODO Auto-generated method stub return "**********" + '\r' + "方法内部类:" + '\r' + "打乒乓球" ; } } return new Inner_f().play(); } } package com.zqy.test; import com.zqy.ball.BallTest; public class TestBall { public void getPlay(BallTest balltest){ System.out.println(balltest.play()); } public static void main(String[] args) { // TODO Auto-generated method stub TestBall tb= new TestBall(); BallTest test= new BallTest(); BallTest.Inner_m test1=test. new Inner_m(); System.out.println(test1.play()); System.out.println(test.info()); tb.getPlay( new BallTest() { @Override public String play() { // TODO Auto-generated method stub return "**********" + '\r' + "匿名内部类:" + '\r' + "打排球" ; } }); } } |
39
收起
正在回答 回答被采纳积分+1
2回答
weibo_飞来云去_0
2017-10-13 21:37:07
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 62 63 64 65 66 67 68 69 70 | package com.zqy.ball; public interface Ball { public abstract void play(); } package com.zqy.ball; public class BallTest { public void playBall(Ball ball){ ball.play(); } public class Inner_m implements Ball{ @Override public void play() { // TODO Auto-generated method stub System.out.println( "成员内部类:" ); System.out.println( "打篮球" ); //return "成员内部类:"+'\r'+"打篮球"; } } 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( "打乒乓球" ); //return "**********"+'\r'+"方法内部类:"+'\r'+"打乒乓球"; } } new Inner_f().play(); } } package com.zqy.test; import com.zqy.ball.Ball; import com.zqy.ball.BallTest; public class TestBall { // public void getPlay(BallTest balltest){ // System.out.println(balltest.play()); // } public static void main(String[] args) { // TODO Auto-generated method stub BallTest test= new BallTest(); BallTest.Inner_m test1=test. new Inner_m(); test1.play(); test.info(); test.playBall( new Ball(){ @Override public void play() { // TODO Auto-generated method stub System.out.println( "**********" ); System.out.println( "匿名内部类:" ); System.out.println( "打排球" ); } }); } } |
好帮手慕珊
2017-10-12 10:34:59
代码中还是存在一些问题的,具体如下:
Ball中play方法的返回值改为void,其他实现类也要对应着去改,把相关的方法中的return改为输出语句直接输出
BallTest类中没有定义playBall(Ball ball)方法,方法体中使用ball调用play()方法即可
BallTest类中play()方法的定义去掉
BallTest类中的info()方法改为void类型
TestBall类中,去掉getPlay方法的定义,将主方法中getPlay方法调用改为BallTest中的playBall方法。匿名类的代码不是new BallTest,应该是new Ball,是Ball接口的匿名内部类
祝学习愉快!
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧