草庐IT

abstractions

全部标签

java - Jersey 序列化/反序列化问题 : abstract types can only be instantiated with additional type information

我正在使用Jersey进行序列化和反序列化。我已经使用Jersey在WebLogic上创建了RESTchannel。我有包含抽象类的结果对象。Jersey使用此类的实现名称添加到结果元数据中:{"order":{"@type":"installationOrder",但是,同样的Jersey,在用于反序列化这些数据时,尖叫着以下内容:Causedby:org.codehaus.jackson.map.JsonMappingException:Cannotconstructinstanceofocl.mobile.service.data.order.DetailedOrder,prob

Java Iterator实现编译错误: does not override abstract method remove()

为什么会出现以下编译错误:LRIterator不是抽象的,不会覆盖java.util.Iterator中的抽象方法remove()注意,实现是针对链表的publicIteratoriterator(){returnnewLRIterator();}privateclassLRIteratorimplementsIterator{privateDLLNodeplace;privateLRIterator(){place=first;}publicbooleanhasNext(){return(place!=null);}publicObjectnext(){if(place==null)

java - Spring 安全警告 : Class AuthorityUtils is abstract?

自从迁移到SpringSecurity3.2.5.RELEASE和Spring4.1.1.RELEASE后,我们在Eclipse(Luna)中收到SpringBeanValidation警告。确切的警告是:“org.springframework.security.core.authority.AuthorityUtils”类是抽象的这是这个Spring文件的header:配置中有问题的部分如下(这意味着如果我删除此部分,错误就会消失。具体来说,如果我删除springsecurity:authentication-provider节:关于这个问题的根本原因有什么想法吗?我们的项目无法忍

java - 为什么 abstract 和 strictfp 关键字不能在方法声明中一起使用的原因?

我正在阅读katherinesierra的SCJP。我明白abstract和final关键字不能一起使用,因为正如书中所解释的那样,它们相互矛盾。但是,我不明白为什么strictfp和abstract关键字不能一起使用。我还不知道strictfp关键字在Java中究竟是如何工作的。在我看来,可以声明一个抽象的strictfp方法,拥有一个子类,并以“strictfp方式”实现该方法。这些关键字不能很好地搭配在一起的原因是什么?编辑我仔细检查了这本书,上面肯定写着Becauseinterfacemethodsareabstract,theycannotbemarkedfinal,stri

Java 7 但不是 Java 6 : "is not abstract and does not override abstract method"

谁能解释为什么这在JDK1.6中编译,但在JDK1.7中却没有,我从中得到了错误消息:java:ExampleisnotabstractanddoesnotoverrideabstractmethodcompareTo(java.lang.Object)injava.lang.Comparable?importjava.util.concurrent.*;publicclassExampleimplementsScheduledFuture{@OverridepubliclonggetDelay(TimeUnitunit){return0;}@Overridepublicintcomp

java - 为什么在runnable接口(interface)中运行用abstract关键字定义的方法

这个问题可能很愚蠢,但我不小心检查了java源代码,runnable接口(interface)中的run方法是用abstract关键字定义的。但是根据接口(interface)定义,接口(interface)中的所有方法默认都是抽象的。然后我很困惑为什么Runnable接口(interface)特别有run方法的抽象关键字。我检查了其他接口(interface),如map、list等,但没有人有abstract关键字。请给我一个想法,为什么它在java源代码中是这样写的。publicabstractvoidrun();谢谢 最佳答案

java - 如何创建一个 "abstract field"?

我知道java中不存在抽象字段。我还读了thisquestion但提出的解决方案无法解决我的问题。也许没有解决方案,但值得一问:)问题我有一个抽象类,它根据其中一个字段的值在构造函数中执行操作。问题是这个字段的值会根据子类而改变。我该怎么做才能对子类重新定义的字段的值进行操作?如果我只是“覆盖”子类中的字段,则操作是在抽象类中的字段值上完成的。我愿意接受任何确保操作将在子类实例化期间完成的解决方案(即将操作放在构造函数中每个子类调用的方法中不是有效的解决方案,因为有人可能会扩展抽象类而忘记调用该方法)。此外,我不想将字段的值作为构造函数的参数。是否有任何解决方案可以做到这一点,还是我应

java - 为什么 Eclipse 将接口(interface)方法标记为 public abstract?

当使用Eclipse的“ExtractInterface”重构时,它会默认声明方法publicabstract。为什么?接口(interface)上的public修饰符是完全多余的,abstract在接口(interface)声明上似乎也毫无意义。 最佳答案 这些关键字确实是多余的。我个人不会在这种情况下使用它们,但我明白为什么有人可能更愿意包括它们。JLSexplicitlydiscourages这种做法:Itispermitted,butdiscouragedasamatterofstyle,toredundantlyspeci

java - 字节好友 : Create implementation for an abstract class

我想使用ByteBuddy在运行时为抽象类创建一个实现,我遇到了一个问题,当从创建的实例。我有一个像这样的现有abstract类(我实际上无法修改它,它实际上包含更多逻辑):publicabstractclassAlgorithm{abstractintexecute();}使用以下最小样本,我希望我的Algorithm实例返回一个常量值:Classtype=newByteBuddy().subclass(Algorithm.class).method(ElementMatchers.named("execute")).intercept(FixedValue.value(42)).m

带有正文的 Java "abstract like"方法

有以下类:publicabstractclassSuper{publicabstractvoidrun();}publicclassSub1extendsSuper{@Overridepublicvoidrun(){System.out.println("Methodcalled");System.out.println("Sub1called");}}publicclassSub2extendsSuper{@Overridepublicvoidrun(){System.out.println("Methodcalled");System.out.println("Sub2called