为什么不调用重载方法呢?
2011-04-25 21:22
106 查看
我已经对类tt的Equals方法进行了重载,但是调试运行后发现它硬是不进重载方法,只调用了Object的Equals方法,为什么呢?
public class RequestQueue<T> { private LinkedList<T> items = new LinkedList<T>(); private int _count; public int Count { get { return this._count; } } public RequestQueue(int i) { this._count = i; } public void EnQueue(T item) { if (this.items.Count == this._count) { items.RemoveFirst(); items.AddLast(item); } else { items.AddLast(item); } } public int Test(T item) { return items.Count(s => s.Equals(item)); } } public class tt { public string Im { get; set; } public string UA { get; set; } public override bool Equals(object obj) { tt a = obj as tt; if (a.Im == this.Im && a.UA == this.UA) return true; return false; //return base.Equals(obj); } public override int GetHashCode() { return this.ToString().GetHashCode(); } }
protected void Page_Load(object sender, EventArgs e) { RequestQueue<tt> a = new RequestQueue<tt>(100); tt va = new tt() { Im = "1", UA = "2" }; tt vb = new tt() { Im = "1", UA = "3" }; tt vc = new tt() { Im = "1", UA = "2" }; Response.Write(a.Test(va)); }
相关文章推荐
- 创建子类对象时,父类构造函数中调用被子类重写的方法为什么调用的是子类的方法,而被子类重载的方法不会调用?
- 1.为什么需要继承?如何继承?继承到什么? 2.方法的重载与重写的区别 3.类型的自动转换和强制转换 4.子类特有的方法的调用规则 5.子类重写的方法的调用规则 6.多态的理解 7.面向对象的三大特征
- 创建子类对象时,父类构造函数中调用被子类重写的方法为什么调用的是子类的方法,而被子类重载的方法不会调用?
- 为什么不能从静态的方法里面调用非静态方法,或变量?
- 求救:为什么调用System.console()方法返回的是null?
- 关于Activity调用Ondestroy()方法之后内存管理器为什么没有释放占用资源
- 以后一定要注意重载方法的调用细节。。 :(
- 使用GPS定位为什么location总为空 而且onLocationChanged()方法没调用呀
- Atitit.编程语言原理---方法重载的实现与设计 调用方法的原理
- 为什么不能从静态的方法里面调用非静态方法,或变量?
- 【C#基础】方法及其调用、构造方法、out与ref参数及其返回值、方法重载、静态方法等简单介绍
- 为什么部分IO流在调用Close()方法之前要先调用flush()方法
- MainActivity中为什么不能在自己创建的线程中调用控件的方法?
- C++ 子类B重载父类A的方法funA后,在父类A中调用funA会调用子类B还是父类A的funA方法?
- 在同一个类中重载方法的互相调用
- 为什么自定义ViewGroup ondraw方法不会被调用
- java方法重载与递归调用
- Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
- Dubbo服务重载方法在JDK1.8上调用出错的问题(待解决)
- QThread多线程编程经典案例分析(三种方法,解释了为什么使用moveToThread的根本原因,即为了避免调用QThread::exec() )