问题:
A类 有方法 public virtual void test()
B类继承自A类,有方法 public new void test()
如下实例化:
A a = new B(); a.test();
会调用哪个类中的TEST方法,最好能详细给我解释一下好吗?先谢谢了!
回答:
如果你用override,则无论调用的是A类还是B类中的TEST(),系统都会找到它实质类的TEST();
如果是用的New,则可以通过类型转换调用到基类的TEST();
下面是override的情况:
A a = new A(); B b = new B(); A a1=new B(); a.Test();//调用A中Test(); b.Test();//调用B中Test(); a1.Test();//调用B中Test();系统会自动识别a1是B的实例
((A)b).Test();//与上面相同
下面是new的情况:
A a = new A(); B b = new B(); A a1=new B(); a.Test();//调用A中Test(); b.Test();//调用B中Test(); a1.Test();//调用A中Test(); ((A)b).Test();//与上面相同
本文向大家介绍C#中类与接口的区别个人总结,包括了C#中类与接口的区别个人总结的使用技巧和注意事项,需要的朋友参考一下 一.类与接口的区别 类:描述了一个实体,包括实体的状态,也包括实体可能发出的动作。 接口:定义了一个实体可能发出的动作。但是只是定义了这些动作的原型,没有实现,也没有任何状态信息。 1.接口与类区别: (1)接口有点象一个规范、一个协议,是一个抽象的概念; (2)而类则是实现了这
本文向大家介绍python中new和init__的区别?相关面试题,主要包含被问及python中new和init__的区别?时的应答技巧和注意事项,需要的朋友参考一下 init为初始化方法,new方法是真正的构造函数 new是实例创建时被调用的,它的任务是创建并返回这个实例,是静态方法 —init__是实例创建之后被调用的,然后设置对象属性的一些初始值
本文向大家介绍insert into 和 override write区别?相关面试题,主要包含被问及insert into 和 override write区别?时的应答技巧和注意事项,需要的朋友参考一下 解答: insert into:将某一张表中的数据写到另一张表中 override write:覆盖之前的内容。
本文向大家介绍PHP中new static() 和 new self() 的区别介绍,包括了PHP中new static() 和 new self() 的区别介绍的使用技巧和注意事项,需要的朋友参考一下 长夜漫漫啊! 今天领导本地搭建一个站。发现用PHP 5.2 搭建不起来,站PHP代码里面有很多5.3以上的部分,领导让苦逼我更改在5.2下能运行。 改着改着发现了一个地方 这尼玛是神马,只见过 于
问题内容: 这两种实例化类的新对象的方式之间有什么区别,如下所示: 当我尝试以下代码时,我可以看到两个对象都可以访问方法,但是t2无法访问(无法解析): 问题答案: 将创建Test类的对象。 但是将创建一个测试子类的对象(在这种情况下,即匿名内部类)。 您可以在那提供任何方法的实现 这样,当从对象调用方法时,它将打印出来。 加成 代码中的编译时错误是由于缺少条件运算符
本文向大家介绍C# 中 &和&&的区别相关面试题,主要包含被问及C# 中 &和&&的区别时的应答技巧和注意事项,需要的朋友参考一下 答: &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).