相关疑难解决方法(0)

为什么要使用多态?

我有以下代码,其中有一个父类及其子代.我试图确定代码如何从使用多态性中受益.

class FlyingMachines {
    public void fly() {
        System.out.println("No implementation");
    }
}

class Jet extends FlyingMachines {
    public void fly() {
        System.out.println("Start, Taxi, Fly");
    }

    public void bombardment() {
        System.out.println("Throw Missile");
    }
}

public class PolymorphicTest {
    public static void main(String[] args) {
        FlyingMachines flm = new Jet();
        flm.fly();

        Jet j = new Jet();
        j.bombardment();
        j.fly();
    }
}
Run Code Online (Sandbox Code Playgroud)

多态性的优点是什么,flm.fly()j.fly()给我相同的答案?

java polymorphism

30
推荐指数
5
解决办法
6万
查看次数

Java和.NET中ToString()的原始原因是什么?

我过去曾经ToString()谦虚地使用过,而且在很多情况下我发现它非常有用.但是,我对这种方法的使用几乎没有理由将这种方法放在其他方面System.Object.我的猜测是,在进行的工作和为了提出.NET框架的初始设计而举行的会议期间的某些时候,我们认为必须 - 或者至少非常有用 - 包含一个ToString()方法,由.NET框架中的所有内容实现.

有谁知道具体原因是什么?我是否错过了大量ToString()证明有用的情况System.Object?最初的原因是ToString()什么?

非常感谢!

PS - 再说一遍:我不是在质疑这个方法,也不是暗示它没有用,我只是想知道是什么让它变得有用System.Object.

旁注 - 想象一下:

AnyDotNetNativeClass someInitialObject = new AnyDotNetNativeClass([some constructor parameters]);

AnyDotNetNativeClass initialObjectFullCopy = AnyDotNetNativeClass.FromString(someInitialObject.ToString());

这不是很酷吗?

EDIT(1):

(A) - 基于一些答案,似乎.NET语言从Java继承了这一点.所以,我正在为主题和标签添加"Java".如果有人知道为什么这是用Java实现的,那么请说清楚!

(B) - 静态假设FromString与序列化:当然,但这是一个完全不同的故事,对吗?

.net java tostring

10
推荐指数
2
解决办法
750
查看次数

标签 统计

java ×2

.net ×1

polymorphism ×1

tostring ×1