繁体   English   中英

“这个”是什么意思。 Java 中的意思和指代

[英]What does "this." mean and refer to in Java

我对java有点陌生,写了一个作业,制作了一个带有按钮的JFrame。 “this.setTitle...”和“this.setSize...”究竟是什么意思。 这是我的代码:

import javax.swing.JButton;
import javax.swing.JFrame;

public class Assignment1 extends JFrame{
    public Assignment1() throws Exception{
        this.setTitle("Assignment 1");
        this.setSize(400,800);
        this.getContentPane().add(new JButton("Click"));
        this.setVisible(true);
    }
public static void main(String[] args) throws Exception{
    new Assignment1();


 }
}

“this”表示类的一个实例,Assignment1,在本例中是一个专门的 JFrame。

setTitle、setSize、getContentPane 和 setVisible 是 JFrame 的方法,它们由您的 Assignement1 类继承。

是一个保留字,表示你正在使用的类的实例。 例如,当您说 this.setTitle 时,您引用了您正在使用的当前 Assignement1 实例的 setTitle 方法。

假设您创建了两个 Assignment1 实例,如下所示:

a1 = new Assignment1();
a2 = new Assignment1();

如果你说 a1.setTitle("alfa") 你将使用实例 a1 的 setTitle 方法。 在类中,您可以将此方法称为 this.setTitle,与在类中完全一样。 那么如果你说 a2.settitle("beta") 这不会与第一条语句冲突。 您会得到两个 JFrame,一个标题为“alfa”,另一个标题为“beta”。

这就是你不能在静态方法中使用 this 的原因。 可以在不需要创建类的实例的情况下调用静态方法。 这就是为什么它们也被称为“类方法”的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM