interface d { public void meth(); }class a implements d{ public void meth() { System.out.println("a"); } }class b implements d{ public void meth() { System.out.println("b"); } }class c implements d{ public void meth() { System.out.println("c"); } }public class e { static public void ff(d d1) { d1.meth(); }
public static void main(String[] args) { a a1 = new a(); b b1 = new b(); c c1 = new c(); ff(a1); ff(b1); ff(c1); } }
搞什么 很明显搂主说的是向下面这样实现的问题interface d { public void meth(); }class a implements d{ public void meth() { System.out.println("a"); } public void meth1() { System.out.println("a1"); } }
interface D{ void fun(); }class A implements D{ public void fun(){ System.out.println("A.fun()"); } }class E{ void ff(D d){ d.fun(); } }public class Test{ public static void main(String[] args){ A a = new A(); E e = new E(); e.ff(a); } }
...一个转型不就搞定了不过要是这样 你还不如不用接口 接口滥用我早在上面说过了...具体 if (d instanceof A) { ((A)d).meth1(); }
public void meth();
}class a implements d{
public void meth() {
System.out.println("a");
}
}class b implements d{
public void meth() {
System.out.println("b");
}
}class c implements d{
public void meth() {
System.out.println("c");
}
}public class e {
static public void ff(d d1) {
d1.meth();
}
public static void main(String[] args) {
a a1 = new a();
b b1 = new b();
c c1 = new c();
ff(a1);
ff(b1);
ff(c1);
}
}
很明显搂主说的是向下面这样实现的问题interface d {
public void meth();
}class a implements d{
public void meth() {
System.out.println("a");
}
public void meth1() {
System.out.println("a1");
}
}
{
a.ff(new A()); //可以使用A实现的接口D方法
a.ff(new B()); //可以使用B实现的接口D方法
...
}
void fun();
}class A implements D{
public void fun(){
System.out.println("A.fun()");
}
}class E{
void ff(D d){
d.fun();
}
}public class Test{
public static void main(String[] args){
A a = new A();
E e = new E();
e.ff(a);
}
}
你还不如不用接口 接口滥用我早在上面说过了...具体
if (d instanceof A) {
((A)d).meth1();
}