- 之前自己一直学的java,最近进新公司,要开始转c#.net了,学了一段时间发现其实c#和java有很多类似的地方,但是还是有很多不同的地方,比如c#这里的重写,需要加一些关键词,感觉没有java方便,也许也有他的方便之处吧,可能我刚学没有发现。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Tested{ public class TestSender { static void Main(string[] args) { A a1 = new B(); A a2 = new C(); a1.Send(); a2.Send(); Console.ReadKey(); // 为了防止程序执行完直接结束,需要加一个这种方法,这个方法作用其实是让你按任意键,java不需要, } } public class A { public virtual void Send() // C#中要重写的方法 需要加virtual或者abstract关键词 { Console.WriteLine("A"); } } public class B : A { public override void Send()// 派生类中重写的方法需要加override关键词 { Console.WriteLine("B"); } } public class C : A { public new void Send() // 派生类中重写的方法可以使用new关键词 他的作用是隐藏该方法 { Console.WriteLine("C"); } } /* 输出结果为:B A */ }