我已经阅读了许多关于使用关键字的解释'这个'在java中,但仍然不完全理解它。我是否在此示例中使用它:
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("");
}
如果用户和传递匹配,它应该打开一个新窗口。我使用这个'关键字在哪里?
答案 0 :(得分:1)
我认为您应该知道两个主要用法:
在你的情况下,我没有看到名称' B'的任何LOCAL(方法)变量,所以我猜你可以不用它。
答案 1 :(得分:0)
该类的任何非静态方法都需要调用该类的对象。类具有修改和读取状态的状态和行为的蓝图。对象是这个蓝图的实现。创建对象后,它具有这些状态和方法。
假设您有以下代码。
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();
}
}
让我们试着回答几个问题。
Q1。在mwthod foo
内部,我们调用bar
,我们没有使用任何显式对象来调用它(使用.
点运算符),对象是调用的方法bar
。
Q2。方法bar
尝试访问和修改名为property
的变量。这个名为property
的状态属于哪个对象?
答案
A1。 A.this
引用的对象(它与this
相同)。它是调用foo
方法的对象,隐式地使被调用的方法可用。可以通过this
访问执行该方法的对象。
A2。与Q1的答案相同。
任何时候的对象都可以通过Classname.this访问非静态方法或类的块。