需求: 在测试类Test中创建A的对象a并调用成员方法methodA(),要求用两种方式实现 自己书写,不要用idea自动生成。 public class Test { public static void main(String[] args) { } } //定义接口 interface InterA { void showA(); } class A { public void methodA(InterA a) { a.showA(); } }
时间: 2023-06-20 09:10:42 浏览: 322
JS类中定义原型方法的两种实现的区别
好的,可以这样实现:
```
public class Test {
public static void main(String[] args) {
// 方法一:使用匿名内部类
A a1 = new A();
a1.methodA(new InterA() {
@Override
public void showA() {
System.out.println("方法一:使用匿名内部类实现接口InterA");
}
});
// 方法二:定义一个实现了InterA接口的类,并创建对象调用
class MyInterA implements InterA {
@Override
public void showA() {
System.out.println("方法二:定义实现了接口InterA的类MyInterA");
}
}
A a2 = new A();
a2.methodA(new MyInterA());
}
}
// 定义接口
interface InterA {
void showA();
}
// 定义类A
class A {
public void methodA(InterA a) {
a.showA();
}
}
```
阅读全文