有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java不能强制转换组织。阿帕奇。蜡染。桥更新管理器

我正在打补丁。阿帕奇。蜡染。桥通过重写方法更新管理器

@Override
public void interrupt() { ... }

java.lang.IllegalStateException: RunnableQueue not started or has exited
at org.apache.batik.util.RunnableQueue.invokeLater(RunnableQueue.java:277)
at java.lang.Thread.run(Unknown Source)

新班级是

public class SVGUpdateManager extends org.apache.batik.bridge.UpdateManager

从JSVGCanvas调用时

SVGUpdateManager um = (SVGUpdateManager) getUpdateManager();

我有一个java。lang.ClassCastException,org。阿帕奇。蜡染。桥无法将UpdateManager强制转换为SVGUpdateManager


共 (1) 个答案

  1. # 1 楼答案

    好的,根据你的评论,问题是你不能将超类转换成子类,只能将子类转换成超类

    例如:

    public class Main {
    
        public static void main(String[] args) {
            A a = new A();
            B castedA = (A) a; // casting is unnecessary
            B b = new B();
            A castedB = (A) b; // class cast exception
        }
    
        public static class B {
    
        }
    
        public static class A extends B {
    
        }
    }
    

    我认为您应该实例化和更新管理器,并将其包装在自定义类中(而不是扩展其功能)。然后代理出原始实例的函数

    或者你可以试试this