「java判断继承」Java中的继承
本篇文章给大家谈谈java判断继承,以及Java中的继承对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
JAVA如何判断两个类之间是否满足继承关系?
Class中有个方法 public native boolean isAssignableFrom(Class? cls)用来判断子类是否继承于父类的或者父接口的。
你会这样子写:
Class clazz = ....;
clazz.isAssignableFrom(子类名称);返回true说明是挂号里的类的父类或父接口。
clazz.isAssignableFrom(子类名称)里的子类名称跟版本有关,好像是1.5以上的JDK这里的子类名称都是使用的泛型编程。即传的传数是
classT 类型的,你用的时候自己斟酌下版本问题。
而常用的instanceof(class ..)是指该实例是否属于挂号中的类的父类的一个实例。
如上面的例子:
class A{
}
public class B extends A{
public static void main(String[] args){
Class clazz = B.class;
Class class1 = A.class;
System.out.println(class1.isAssignableFrom(clazz));
if(class1.isAssignableFrom(clazz)){
System.out.println("A是B的父类");
}else{
System.out.println("A不是B的父类");
}
}
}
接口的话也一样的:如下
public interface A {
}
public class B implements A{
public static void main(String[] args) {
Class clazz = B.class;
Class class1 = A.class;
System.out.println(class1.isAssignableFrom(clazz));
if(class1.isAssignableFrom(clazz)){
System.out.println("A是B的父类");
}else{
System.out.println("A不是B的父类");
}
}
}
你测试时只需要把extends A和implements A去掉那就是A不是B的父类或者父接口的情况。 这就是java反射机制的精髓啊
JAVA如何判定方法是继承的
无论重写不重写,一个类里面不可能存在同名同参数的两个方法。你可以通过他们参数不同来区分
其实不加@Override也没关系,只要你子类的方法和父类的方法同名,同参,参数顺序一样,就算作重写了。
如果你把supper.xxx也算进去就理解错了,super调用的是父类的方法,不是你这个类的
java instanceof 判断继承
import javax.swing.JApplet;
public class ClassTest {
// 一个判断son是否直接继承自father的简单函数
public static boolean genericCheck(Class? son, Class? father) {
return son.getGenericSuperclass() == father;
}
public static void main(String[] args) {
System.out.println(ClassTest.genericCheck(String.class, Object.class));
System.out.println(ClassTest.genericCheck(Sim.class, Object.class));
System.out.println(ClassTest.genericCheck(Sim.class, JApplet.class));
System.out.println(ClassTest.genericCheck(Sim.class, Comparable.class));
//你在你的程序里,这样输出一下就知道了,A是否直接继承了B.
//System.out.println(ClassTest.genericCheck(A.class, B.class));
}
}
class Sim extends JApplet implements java.lang.ComparableObject {
private static final long serialVersionUID = 1L;
public int compareTo(Object o) {
return 0;
}
}
关于java判断继承和Java中的继承的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-25,除非注明,否则均为
原创文章,转载请注明出处。