gpt4 book ai didi

c# - C#和Java中继承的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:20:28 25 4
gpt4 key购买 nike

<分区>

我和我的 Java 程序员 friend 正在讨论继承。当我们对同一种代码得到不同的结果时,对话几乎达到了顶峰。我在 .NET 中的代码:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleDemo
{
class Program
{
static void Main(string[] args)
{
Base objBaseRefToDerived = new Derived();
objBaseRefToDerived.Show();

Console.ReadLine();
}
}

public class Base
{
public virtual void Show()
{
Console.WriteLine("Show From Base Class.");
}
}

public class Derived : Base
{
public void Show()
{
Console.WriteLine("Show From Derived Class.");
}
}
}

给我这个结果:

Show From Base Class.

虽然这段代码是用Java编写的

public class Base {
public void show() {
System.out.println("From Base");
}
}

public class Derived extends Base {
public void show() {
System.out.println("From Derived");
}

public static void main(String args[]) {
Base obj = new Derived();
obj.show();
}
}

给我这个结果:

From Derived

为什么.NET调用基类函数而java调用派生类函数?如果有人能回答这个问题,或者只是提供一个链接,我将非常感激,我可以消除这种困惑。

希望提供的代码没有问题。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com