现在不是很忙,来总结一下getSupperClass()它的作用:
当时找了好大会的错 原来是java反射机制的问题,在上线的时候没有这个问题,后来过了几天,问题就上来了,然后经过测试,原来是另外一个哥们把我的之前的实体给拆分进行继承了。
这个就是我在操作时NoSuchFieldException: dajiahao 返回的问题 找不到这个dajiahao字段
java.lang.Class类的getSuperclass()方法用于获取此实体的超类。该实体可以是类,数组,接口等。该方法返回此实体的超类。
超类(superclass)
超类 :用java术语来讲,被继承的类称为超类,继承的类称为子类。名为Object的类是Java中每个类的超类。
在数据库建模中,有时一个实体集中的所有实体同时也是另一个实体集中的实体。例如,甲超市出售的所有物品都是乙物流公司负责运输的商品。这一情况下,称前一实体集为子类,后一实体集为超类。
代码演示一下
父类 :Student
public class Student {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
子类:stu
public class Stu extends Student{
private Integer score;
private String sex;
public Integer getScore() {
return score;
}
public void setScore(Integer score) {
this.score = score;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
测试1
public class SupperClass {
public static void main(String[] args) {
// 父类
Class<Student> student = Student.class;
// 子类 继承父类
Class<Stu> stu = Stu.class;
System.out.println(student);
System.out.println(stu);
}}
控制台输出:
class org.example.supper.Student
class org.example.supper.Stu
测试2
public class SupperClass {
public static void main(String[] args) {
// 父类
Class<Student> student = Student.class;
// 子类 继承父类
Class<Stu> stu = Stu.class;
System.out.println(student.getSuperclass());
System.out.println(stu);
}
}
控制台输出:
class java.lang.Object
class org.example.supper.Stu
测试3
public class SupperClass {
public static void main(String[] args) {
// 父类
Class<Student> student = Student.class;
// 子类 继承父类
Class<Stu> stu = Stu.class;
System.out.println(student.getSuperclass());
System.out.println(stu.getSuperclass());//返回了继承的那个类Student
}}
控制台输出:
class java.lang.Objectclass org.example.supper.Student
测试4
public class SupperClass {
public static void main(String[] args) {
// 父类
Class<Student> student = Student.class;
// 子类 继承父类
Class<Stu> stu = Stu.class;
System.out.println(student.getSuperclass());
System.out.println(stu.getSuperclass().getSuperclass());//返回了超类
}}
控制台输出:
class java.lang.Objectclass java.lang.Object
由于Object类是所有类的超类,因此它显示对象类的名称