public class A{ public int i; } public class B{ public void put(A a){ System.out.println(a.i); } }
public interface IBase{ void say(); } public class A implements IBase{ @Override public void say() { System.out.println("I am A"); } } public class B implements IBase{ @Override public void say() { System.out.println("I am B"); } } public class C{ public void put(IBase base){ base.say(); } }
public class Base{ public void say(){ System.out.println("I am Base"); } } public class A extends Base{ @Override public void say() { System.out.println("I am A"); } } public class B extends Base{ @Override public void say() { System.out.println("I am B"); } } public class C{ public void put(Base base){ base.say(); } }
public class A{ public void aSay() { System.out.println("I am A"); } } public class Base{ public A a; public Base(A a){ this.a=a; } public void baseSay(){ a.aSay(); } } public class B{ public void put(Base base){ base.baseSay(); } } public static void main(String[] args){ A a=new A(); Base base=new Base(a); B b=new B(); b.put(base); }
END 十期推荐 【221期】面试官:谈谈内存泄漏和内存溢出的联系与区别 【222期】ZooKeeper 相关面试演练 【223期】面试官:在MySQL查询中,为什么要用小表驱动大表 【224期】MySQL索引相关面试演练 【225期】面试官:公司项目中Java的多线程一般用在哪些场景? 【226期】面试官:内存耗尽后Redis会发生什么 【227期】面试官:说说双重检查加锁单例模式为什么两次判断? 【228期】面试高频:Java常用的八大排序算法一网打尽! 【229期】面试官:怎么解决Eureka某一个服务挂掉的问题? 【230期】面试官:讲讲Bean的加载过程 ? ~