java - 类中的this关键字

标签 java class oop this

我正在学习 Java,并正在阅读文档。

this page 上有一行我无法理解 -

... Also, class methods cannot use the this keyword as there is no instance for this to refer to. ...

我以为只有静态类方法不能使用this关键字。

为了测试这一点,我编写了以下代码,它可以编译。

import java.math.*;

class Point {

    public int x, y;

    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public double getDistanceFromOrigin() {
        return Math.sqrt(this.x*this.x + this.y*this.y);
    }

}

我有一个类,其中一个方法引用了this

我是否以某种方式误解了事情?

最佳答案

类方法静态方法。 “类方法”是一种绑定(bind)到类定义的方法(使用 static 关键字),与您编写的对象/实例方法相反,您可以在构建的对象上调用它们基于那个类。

您编写的代码有两个对象/实例方法,没有类方法。如果你想要 Java 中的类方法,你可以将其设为静态,然后你就不能使用 this

关于java - 类中的this关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17218949/

相关文章:

java - 在接口(interface)方法的 throws 子句中放什么?

java - 如何在 Jmeter 中使用 Maven 配置文件

c++ - A 类需要 B 类,B 类需要 A 类及其所有成员

c++ - 触发了一个断点(析构函数),类模板类型是它自己的一个版本?

javascript - 原型(prototype)数组参数

java - 如何覆盖方法以调用父类(super class)的父类(super class)方法?

C# 简化并可能概括了我的对象克隆方法

java - Spring框架中的bean Autowiring

java - 线程中的异常 "main"java.net.UnknownHostException :

python - 在 python 中的两个对象之间的操作中,其操作重载为优先级?