在Java中使用关键字this
我已经阅读了很多关于在java中使用关键字“this”的解释,但仍然没有完全理解它。我是否在本例中使用它:在Java中使用关键字this,java,netbeans,this,Java,Netbeans,This,我已经阅读了很多关于在java中使用关键字“this”的解释,但仍然没有完全理解它。我是否在本例中使用它: private void login_BActionPerformed(java.awt.event.ActionEvent evt) { if(user_TF.getText().equals("admin")&& pass_PF.getText().equals("admin")){
private void login_BActionPerformed(java.awt.event.ActionEvent evt) {
if(user_TF.getText().equals("admin")&& pass_PF.getText().equals("admin")){
this.B.setVisible(true);
}else{
JOptionPane.showMessageDialog(null, "Warning!", "InfoBox: "+"Warning", JOptionPane.INFORMATION_MESSAGE);
}
this.user_TF.setText("");
this.pass_PF.setText("");
}
如果用户和pass匹配,它应该打开一个新窗口。我是否在这里的任何地方使用“this”关键字?我认为有两个主要用法你应该知道:
- 如果您有一个名为N的类变量和一个名为N的方法变量,那么为了区分它们,请将此.N用于类变量,将N用于方法变量李>
- 假设您有2个构造函数。一个采用字符串名称,另一个采用名称+年龄。不要复制代码,只需使用this()调用另一个构造函数即可李>
在您的例子中,我没有看到任何名为“B”的本地(方法)变量,因此我想您可以不使用它。该类的任何非静态方法都需要调用该类的对象。类具有修改和读取状态的状态和行为的蓝图。目标是实现这个蓝图。一旦对象被创建,它就拥有这些状态和方法 假设您有以下代码
public class A{
int property;
public void foo(){
bar();
}
public void bar(){
property = 40;
}
}
public class B{
public static void main(String[] args){
A obj = new A();
obj.foo();
}
}
让我们试着回答几个问题
问题1。在mwthodfoo
中,我们调用bar
,我们没有使用任何显式对象来调用它(使用
点运算符),对象是调用的方法bar
问题2。方法bar
尝试访问和修改名为property
的变量。此状态称为属性
属于哪个对象
答复
A1对象由A.this
(它与this
相同)。它是调用了foo
方法的对象,该方法在被调用的方法中隐式可用。执行该方法的对象可以通过this
访问
A2。和Q1的答案相同
任何时候都可以通过类名访问对象。这在类的非静态方法或块中。在本例中我是否使用它:这是一个问题吗?因为我在这里看不到任何答案,所以我对它进行了编辑,以显示我认为“this”可能被使用的位置。如果您发现其中一个答案有用,您可能会选择它作为最佳答案或对其进行评分。