Tag: derived class

Simple-XML – 如何序列化集合中的派生类?

我想序列化一个对象层次结构,包括一个派生自基类“Thing”的对象列表。 这很好用,包括反序列化 – 但XML-Simple坚持编写一个指定实际使用的Java类的属性 当我使用下面的java代码创建一个xml文件时,内容如下: 212 但这不是我想要的。 我想要 212 没有class属性的’apple’和’orange’元素,不具有这种属性的’fruit’。 这可能吗? (第二个xml符合现有架构;添加额外属性不是一个选项) 这是代码: package com.mumpitz.simplexmltest; import java.io.File; import java.util.ArrayList; import org.simpleframework.xml.Attribute; import org.simpleframework.xml.Element; import org.simpleframework.xml.ElementList; import org.simpleframework.xml.Root; import org.simpleframework.xml.Serializer; import org.simpleframework.xml.core.Persister; class Fruit { @Attribute(name = “id”) protected final int id; Fruit( @Attribute(name = “id”) int id) { this.id = id; } int getObjectId() { […]

在派生类上禁用inheritance的方法

有没有办法在Java派生类中“禁用”从基类inheritance的方法和/或字段? 例如,假设您有一个具有rotate()方法的Shape基类。 您还可以从Shape类派生各种类型: Square , Circle , UpwardArrow等。 Shape有一个rotate()方法。 但是我不想让Circle的用户可以使用rotate() ,因为它没有意义,或者是UpwardArrow用户,因为我不希望UpwardArrow能够旋转。