美文网首页
Java父类转子类一个可行的方法

Java父类转子类一个可行的方法

作者: 日落_3d9f | 来源:发表于2020-09-13 13:37 被阅读0次

1. 问题描述

Java父类转子类我以前学习的时候没有看到有啥问题,但是在实际开发中的就出现了一些不能强转的问题,所以,在网上找解决办法,最后有了下面一篇文章。

2. 解决思路

一般子类可以转父类,但父类转子类就会报cast error。
使用jsonObject,先把父类转jsonString,再把jsonString转子类,剩余的子类的值可以set进去。

3. 代码示范

import com.alibaba.fastjson.JSONObject;

public class test {

    public static void main(String[] args) {
        B b = new B();
        b.setB("1");
        String ob = JSONObject.toJSONString(b);
        A a = (A)JSONObject.parseObject(ob, A.class);
        a.setA("2");
        System.out.println(a.getA());
    }
}

class A extends B {
    private String a;

    public String getA() {
        return a;
    }

    public void setA(String a) {
        this.a = a;
    }
}

class B {
    private String b;

    public String getB() {
        return b;
    }

    public void setB(String b) {
        this.b = b;
    }
}

参考文章:https://www.cnblogs.com/guochunyi/p/5833962.html

相关文章

  • scala 调用java通过父类调用子类方法实现

    scala 调用java通过父类调用子类方法实现 java 父类 A 抽象类: java 子类 B 继承A类,并...

  • 多态只针对方法,而不是属性

    java中子类只能重写父类的方法 ,而不能重写属性 创建两个类,一个子类一个父类进行测试 父类 子类先建一个和父类...

  • Java几个基本概念

    多态:通过父类指针调用子类方法 重载:一个类中方法参数名、个数、类型不同 重写:子类对父类方法的重写 Java泛型...

  • java 继承 子类强转父类 父类强转子类

    Java 继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法...

  • Java 面向对象

    JAVA继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,...

  • Java自学-接口与继承 隐藏

    Java中的方法隐藏 与重写类似,方法的重写是子类覆盖父类的对象方法 隐藏,就是子类覆盖父类的类方法 步骤 1 :...

  • 2018-07-10

    JAVA重写的条件 条件: 子类继承父类,并重写父类的方法 1、 重写要求子类中的覆盖方法与父类中被覆盖的方法有...

  • java基础问题

    在多态中,父类指向子类时候,不能调用父类没用,子类有的方法。 java中普通类可以继承普通类的。

  • Java07继承

    继承 关键字extends子类继承父类,子类拥有父类的成员变量和方法。Java中所有的类最终都继承与java.lo...

  • java相关

    1、Java向上转型之后调用子类的同名变量/方法的问题 总结:方法可重写,属性不可重写。父类的方法被子类覆盖,父类...

网友评论

      本文标题:Java父类转子类一个可行的方法

      本文链接:https://www.haomeiwen.com/subject/eivnektx.html