【发布时间】:2011-11-03 12:38:06
【问题描述】:
1) 为什么下面的代码不同。
C#:
class Base
{
public void foo()
{
System.Console.WriteLine("base");
}
}
class Derived : Base
{
static void Main(string[] args)
{
Base b = new Base();
b.foo();
b = new Derived();
b.foo();
}
public new void foo()
{
System.Console.WriteLine("derived");
}
}
Java:
class Base {
public void foo() {
System.out.println("Base");
}
}
class Derived extends Base {
public void foo() {
System.out.println("Derived");
}
public static void main(String []s) {
Base b = new Base();
b.foo();
b = new Derived();
b.foo();
}
}
2) 当从一种语言迁移到另一种语言时,我们需要确保顺利过渡。
【问题讨论】:
-
您的问题到底是什么?代码不同,因为它不是同一种语言。这个答案还不够吗?
-
这个问题和家庭作业有什么不同?
-
@Filburt:查看答案。这不是作业问题
-
显然Java有更多的糟糕!,它是更早开发的。这是您应该关心的任何呃哦!。
-
@Filburt 你所要做的就是看看这个帅哥的个人资料——我不认为有 40 个问题和 130 个答案的人是学校里试图完成家庭作业的人——我认为这只是一个人谁的问题表达得很糟糕