正在回答 回答被采纳积分+1
你思路有错,直接调用方法内部类的这个方法就可以撒。下面是我的,你可以参考一下
//创建类BallTest public class BallTest { // 创建成员内部类Inner_m public class Inner_m implements Ball{ public void play(){ System.out.println("成员内部类:"); System.out.println("打篮球"); } } // 创建方法内部类 public void info(){ class Inner_f implements Ball{ public void play(){ System.out.println("**********************"); System.out.println("方法内部类:"); System.out.println("打乒乓球"); } } Inner_f inner_f=new Inner_f(); inner_f.play();//注意这里我已经对这个类进行了实现 //return new Inner_f().play(); } // 定义一个方法void playBall(Ball ball),调用play()方法 public void playBall(Ball ball){ ball.play(); } } //测试类 public class Test { public static void main(String[] args) { //完成成员内部类内部测试 BallTest ba=new BallTest(); BallTest.Inner_m my=ba.new Inner_m(); my.play(); //完成方法内部类测试 ba.info(); //完成匿名内部类测试 ba.playBall(new Ball(){ public void play(){ System.out.println("**********************"); } } ); ba.playBall(new Ball(){ public void play(){ System.out.println("匿名内部类:"); System.out.println("打排球"); } } ); } }
public class BallTest{
public void palyIBall(IBall iball){
iball.play();
}
public Inner_m getinner_m(){
return new Inner_m();
}
public class Inner_m implements IBall{
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("成员内部类:");
System.out.println("打篮球");
}
public void info(){
class Inner_f implements IBall{
@Override
public void play() {
// TODO Auto-generated method stub
System.out.println("*********************");
System.out.println("方法内部类:");
System.out.println("打乒乓球");
}
}
new Inner_f().play();
}
}
}
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星