Java使用范围分辨率/“点”运算符“扩展”吗?

时间:2015-10-20 23:59:42

标签: java oop inheritance scope extends

我在阅读一些代码时遇到过这个问题,我完全不知道这意味着什么。我尝试使用谷歌搜索等等,但我没有得到任何东西,可能是由于缺乏词汇量。代码:

public final class GeneralPath extends Path2D.Float 
{
    // code and whathaveyou
}

到目前为止我所知道的:

所以我对“公共最终类ClassName extends”部分没有任何疑问,但我不明白超类指定中是否存在点/范围解析运算符。首先,我想有人会说“Java没有范围解析运算符”来澄清Java和Cpp / other-OOP语言之间的细微差别,这很好,我很高兴知道这种微妙的区别。 “private”关键字在一次hw任务中杀了我,我希望有人注意到Java和C中“private”之间的区别。

我很困惑,因为很明显它没有引用超类的成员,因为“成员”是大写的,即使它是,但引用一个对象的成员而不仅仅是对象类本身似乎是多余的。此外,我没有找到关于这个主题的信息,因为大多数编写java how-to的人倾向于从更简单的概念开始,比如“基本”类继承,所以我找不到涉及“dot”运算符的任何内容。使用“extends”关键字。

如果我使用太多技术术语,我想知道为什么他们使用点运算符“Path2D.Float”,或者至少是点运算符在这种情况下的用途。

万分感谢!

1 个答案:

答案 0 :(得分:7)

GeneralPath类正在扩展嵌套在Float类中的类Path2D,其定义如下:

public class Path2D {
    public static class Float {
       // ...
    }
    // ...
}