getSupperClass()

getSuperclass()方法用于获取Java类的超类。当出现NoSuchFieldException时,可能是因为类的继承结构发生了变化。在示例中,Stu类继承自Student类,展示了如何通过getSuperclass()查找类的父类。Object类是所有Java类的最终超类。
摘要由CSDN通过智能技术生成

现在不是很忙,来总结一下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类是所有类的超类,因此它显示对象类的名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值