多态

java – 泛型编程是多态的一个例子吗?

我正在做一个家庭作业,其中一个标准是我必须以明显改善代码整体质量或功能的方式利用多态性.我做了一个哈希表,看起来像这样:Hashable是我制作的具有hash()函数的接口.我知道使用泛型这种方式可以提高我的代码质量,因为现在HashTable可以使用我想要的任何类型.但我不确定它是否表现出多态性.我认为确实如此,因为E可以是任何实现Hashable的类型.换句话说,HashTable是一个可以(实际上)使用任何类型的类.但我不太确定–这是多态吗?

java – 多态调用

我是java的新手,我已经在我的老年人宣称的许多地方的代码中看到了列出myList=newArrayList();(选项1)代替ArrayListmyList=newArrayList();(选项2)你能告诉我为什么人们使用Option1,有什么优势吗?如果我们使用option2,我们是否会错过任何优势或功能?

java – 杰克逊多态:如何将多个子类型映射到同一个类

我正在使用Jackson1.9.x.坚持动物的例子,这是我想做的事情:假设我有一个Animal类:我想要做这样的事情(我将几个子类型映射到一个类,另外一个类别)我现在看到的是,杰克逊只会认识到“狗到哺乳动物”和“Dodo-to-Bird”映射.这是因为StdSubtypeResolver._collectAndResolve()只允许同一个类注册一次(由于NamedType.equals()的实现

java – 为什么不可能使用具有多态返回类型的原语类型?

考虑以下两个类:该代码会在publicintmoo中产生错误,表示int与重写方法的返回类型Integer不兼容.严格来说,这是真的,因为int并不直接等于整数.然而,我们都知道,他们可以使用auto(un)拳击相互隐含地转换.在这个例子中,编译器生成一个桥接方法是不太了解的事实:这必须做,因为JVM在解析方法时区分返回类型,并且由于Foo.moo的擦除返回类型为Object,编译器生成与方法相同

Java中的程序化方法进行文件比较

将两个十六进制文件签名相互比较的最佳方法是相似之处.更具体地说,我想做的是使用.exe文件的十六进制表示法,并将其与一系列病毒签名进行比较.对于这种方法,我打算将文件(exe)十六进制表示形式分解成N个字符的单个组(即10个十六进制字符),并对病毒签名进行相同操作.我的目标是执行某种启发式,因此统计检查该exe文件是否具有与已知病毒签名相似的X%.我想到这样做的最简单和可能的错误方式是将exe[n

java – 多态和构造函数

我是一名APJava学生,我正在考试.我遇到这个问题,我不明白答案:考虑以下类:执行以下代码时的输出是什么?解决方法调用B构造函数.B构造函数的第一个隐式指令是super().所以A的构造函数被调用.A的构造函数调用super(),它调用不打印任何东西的java.lang.Object构造函数.然后调用methodone().由于对象是类型B,所以调用B的methodone版本,并打印B.然后B构造函数继续执行,*被打印.必须注意的是,从构造函数调用可覆盖的方法是非常糟糕的做法:它调用一个尚未构造的对象的

java – 成员变量的多态.我知道这是不可能的,我不明白这个具体情况

我知道这个行为,但我不是100%肯定为什么会发生这种情况.我知道在java中没有实例变量的多态.变量由编译器静态解析.但在下面我很困惑:我承诺在第1行它将显示动物,因为它是静态类型.什么困惑我是为什么第3行也会显示我的名字是动物?它似乎不像我的静态解决,因为类型是狗.这不是Oject的内存布局的一部分吗?这就像内部显示只有父的变量是可见的.为什么?