正在回答 回答被采纳积分+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 星