Java 进阶

class Point {

    double x;
    double y;

    Point() {
        x = 0;
        y = 0;
    }

    boolean samePlace(Point p) {
        return (x == p.x) && (y == p.y);
    }

}

 

vtable 是一个指向static field,method 的指针

vtable 被所有属于 Point 类的 Object 共享

有继承时

class PtSubClassextends Point {

    int aNewField;
    boolean samePlace (Pointp2) {
        return false;
    }
    void sayHi() {
        System.out.println("hello");
    }
}

覆盖原来的 samePlace, 在后面加入 aNewField, sayHi。

原文地址:https://www.cnblogs.com/whuyt/p/4848860.html