Tag: class design

Java:返回类(不是实例)

是否可以在静态方法中返回一个类? 我会解释… 我有: public class A { public static void blah(){} } public class B { } 我想在B中创建一个静态方法返回A 所以你可以这样做: A.blah(); 和 B.getA().blah(); 这样,无需创建A的实例。 只需使用它静态方法。 这可能吗?

调用存在于子类中但不存在于父类中的方法

public class Parent { …. } public class Child1 extends Parent { …. public void foo() { …. } } public class Child2 extends Parent { …. public void foo() { …. } } 这里方法foo()只存在于Child类中,不能添加到Parent类(甚至不是抽象方法)。 在这种情况下,当我想在obj上调用foo()方法时,这是Parent类的引用,那么我需要使用intanceof和多个if..else ,我想避免它。 Parent obj = …// Object of one of the child classes obj.foo(); 编辑:我需要使用obj类型作为Parent 。 否则我将无法调用父类中存在的obj上的方法。 我的解决方案:我想的方法是使用foo()方法定义一个接口说FooInterface并让所有子类实现它,然后我可以输入obj到该接口并调用foo()方法,如下所示: if(obj instanceof […]