package com.java1.day19;
public class InterfaceTest17 {
public static void main(String[] args) {
A3 a = new A3();
a.methodA();
}
}
class A3{
void methodA() {
I3 i = InstanceManager.getInsance();
i.methodB();
System.out.println(i.toString());
}
}
interface I3{
public abstract void methodB();
}
class B3 implements I3{
@Override
public void methodB() {
System.out.println("methodB in B3 class");
}
@Override
public String toString() {
return "classB3";
}
}
class InstanceManager{
public static I3 getInsance() {
return new B3();
}
}
출력결과
methodB in B3 class
classB3