在Java中,我该如何确定类扩展了哪些类?
public class A{
}
public class B extends A{
}
public class C extends A{
}
public class D{
}
public class E extends B{
}
public class doSomething{
public void myFunc(Class cls){
//need to check that cls is a class which extends A
//i.e. B, C and E but not A or D
}
}
会cls.getSuperClass()
做我需要的吗?
该getSuperClass()
方法将失败,E
因为它的直接超类不是A
,而是B
。宁可使用Class#isAssignableFrom()
。
public void myFunc(Class cls){
//need to check that cls is a class which extends A
//i.e. B, C and E but not A or D
if (cls != A.class && A.class.isAssignableFrom(cls)) {
// ...
}
}
问题内容: 如何测试是否是的子类? 问题答案: 您是否在寻找:
问题内容: 我正在学习Java,并且希望将自己的课堂变成可观察的课堂。 但是我已经有了它扩展了另一个类。 我该怎么办? 问题答案: 我建议避免完全使用该类,而应 定义事件特定的侦听器和相应的事件定义 。然后在您的类中定义一个侦听器列表,以及添加和删除侦听器以及向其传播事件的方法(请参见下文)。 强制您使用它来表示事件,然后使用来检查事件类型,这是一种丑陋的非OO方法,并使代码更难以理解。如果查看j
我有一个泛型类型K,我想验证K是否实现了接口可比性。这是我的代码: 但是代码不起作用。我不想将所有K限制为实现可比性。我已经有了另一个TreeMapVector相似度类。如果K实现了接口可比性,我将使用TreeMapVector相似度类返回结果。 你认为我如何能解决这个问题?谢了。
问题内容: 如何将一个Java文件包含到另一个Java文件中? 例如:如果我有2个Java文件,则调用一个,然后调用一个。我怎么能包括成这样我可以从扩展类的 问题答案: 只需将两个文件放在同一目录中即可。这是一个例子: 人.java 学生.java 运行Student(因为它具有主要功能)会为我们带来所需的结果:
我正在Eclipse中用Java编写一个程序。我有两个从超级类ViewPart扩展的类。现在我只想自动打开其中一个类(这意味着当我运行程序时),另一个类应该通过第一个类的UI上的按钮打开。但我不知道如何手动打开ViewPart类。 我现在试过了