利用泛型+class来共用基类方法

    技术2025-10-25  14

    现有一个窗口基类,内有ShowModal方法,在需求在其派生类中,只要传递一个类,就能调用showModal的方法,当然,还要用泛型来做一下限制,如果传递的类参数不是以Window为基类的,在编译期就提示错误

    class Window { public void showModal() { System.out.println("It's a base Window"); } } class SubWindow1 extends Window { public void showModal() { System.out.println("It's SubWindow1"); } } class SubWindow2 extends Window { public void showModal() { System.out.println("It's a SubWindow2"); } } public class WindowTest { public static <T extends Window> void doTest(Class<T> clazz) { try { Window win = clazz.newInstance(); win.showModal(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { doTest(Window.class); doTest(SubWindow1.class); doTest(SubWindow2.class); } }

    最新回复(0)