重写父类虚方法的子类的方法改喊虚方法吗?(探讨)

重写父类虚方法的子类的方法改叫虚方法吗?(探讨)
在clr via c#中有如下话:
“如前所述,调用虚方法的性能不如调用非虚方法的性能,这是因为CLR为了确定所调用方法的类型必须在运行时查找对象的类型。但是,如果JIT编译器通过使用密封类型将调用看成虚方法,那么JIT编译器通过非虚拟地调用方法就可以产生效率更好的代码。JIT编译器这么做是因为JIT编译器知道如果类是密封的,那么这个类就不可能是派生类。

例如,在下面的代码中,JIT编译器可以非虚拟地调用虚方法ToString

using System;
public sealed class Point {
    private Int32 m_x, m_y;

    public Point(Int32 x, Int32 y) { m_x = x; m_y = y; }

    public override String ToString() {
        return String.Format("({0}, {1})", m_x, m_y);
    }

    public static void Main() {
        Point p = new Point(3, 4);

        //C#编译器在此生成callvirt指令,但是JIT编译器将优化这个调用,并生成非虚拟调
        //用ToString方法的代码,这是因为p的类型是Point,而Point是一个密封类
        Console.WriteLine(p.ToString());
    }



我的疑问就是,红色字体部分,以Point类对象为中心来说ToString为虚方法是不是欠妥,对于Point对象来说,ToString应该只是一个普通的实例对象,但是以Point的父对象Object为中心来说,ToString为虚方法很正确

我不清楚红色字体部分的说法 到底对不对,请大家帮我看下
------解决方案--------------------
ToString()是虚方法,假设Point类不是sealed的,那么其派生类也能够重写这个方法。
虚方法是具体方法的客观属性,不随看问题的视点而改变。
------解决方案--------------------
LS+1
受教了.....也就是说tostring()本身就是个虚方法..没有对哪个类的说法..
这样一说.其实方法本身是没有分在类里的..而应该说类型是方法的一个参数..只不过我们这写可读性好.实际上编译器帮我们把类作为参数给了方法而已..