什么是;这一点;Java中的mean和reference
我对java有点陌生,写了一个作业,制作了一个带有按钮的JFrame。“this.setTitle…”和“this.setSize…”的确切含义是什么。这是我的密码:什么是;这一点;Java中的mean和reference,java,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("Ass
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的方法,它们被Assignment1类继承 ThisThis是一个保留字,表示您正在使用的类的实例。例如,当您说this.setTitle时,您的引用是您正在使用的Assignment1的当前实例的方法setTitle 假设您创建了Assignment1的两个实例,如下所示:
a1 = new Assignment1();
a2 = new Assignment1();
如果您说a1.setTitle(“alfa”),您将使用实例a1的setTitle方法。在类中,您可以将此方法称为this.setTitle,与类中的方法完全相同。那么,如果你说a2.settitle(“beta”),这将不会与第一条语句冲突。您将获得两个JFrame,一个标题为“alfa”,另一个标题为“beta”
这就是为什么不能在静态方法中使用它的原因。可以调用静态方法,而无需创建类的实例。这就是为什么它们也被称为“类方法”。顺便说一句,这可能是一个最适合堆栈溢出的问题。官方Java教程相当不错。顺便说一下,我同意@choward的观点。这个问题在StackOverflow中会更好。。。