相关疑难解决方法(0)

Java是"通过引用传递"还是"传递价值"?

我一直认为Java是传递引用的.

但是,我看过一些博客文章(例如,这个博客)声称它不是.

我不认为我理解他们所做的区别.

解释是什么?

java methods parameter-passing pass-by-reference pass-by-value

6270
推荐指数
80
解决办法
189万
查看次数

创建<base class>类型的变量以在C#中存储<derived class>对象

我对编程有些新意,我对C#中的类,继承和多态有疑问.在了解这些主题的同时,我偶尔会遇到类似这样的代码:

Animal fluffy = new Cat();  // where Animal is a superclass of Cat*
Run Code Online (Sandbox Code Playgroud)

这让我很困惑,因为我不明白为什么有人会创建一个类型为Animal的变量来存储Cat类型的对象.为什么一个人不会简单地写这个:

Cat fluffy = new Cat();
Run Code Online (Sandbox Code Playgroud)

我确实理解为什么将子对象存储在父类型变量中是合法的,但不是为什么它有用.是否有充分的理由将Cat对象存储在Animal变量与Cat变量中?一个人可以举个例子吗?我确定它与多态和方法覆盖(和/或方法隐藏)有关,但我似乎无法绕过它.提前致谢!

c# polymorphism inheritance class object

19
推荐指数
3
解决办法
7607
查看次数

预定义类型和自定义类型之间的"对称性"是什么意思?

目前,我在Nutshell和Type Basics(位于第2章)子主题中阅读C#5.0,引入了预定义类型和自定义类型的对称性术语......

...为什么作者谈到这些类型之间的对称性?有什么理由说类型是对称的?

这是原始段落:

C#的一个很好的方面是预定义类型和自定义类型几乎没有差异.预定义的int类型用作整数的蓝图.它保存数据-32位 - 并提供使用该数据的函数成员,例如ToString.同样,我们的自定义UnitConverter类型充当单位转换的蓝图.它保存数据 - 比率 - 并提供功能成员使用该数据.

c#

3
推荐指数
1
解决办法
125
查看次数