public class welcomepage extends javax.swing.JFrame {
backendcode bec;
String username;
public welcomepage() {
initComponents();
username=null;
backendcode bec= new backendcode("dummy");
System.out.println("bec created "+ bec);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("bec created "+ bec);
bec.back_login_credentials(username);
}
/*
and other private methods(not mentioned here) which also needs to access bec object
*/
}
public class backendcode {
public backendcode(String dummy) {
//some code
}
public void back_login_credentials(String username, String password) {
//some code
}
}
我已将 bec(后端代码对象,以便它对整个类可见)声明为welcomepage类中的成员数据,并在其构造函数中初始化 但它是在该构造函数内创建的,并进行了一些初始化,但 jButton1ActionPerformed 方法内的对象值将为 null。为什么会这样..获取初始化对象实例的解决方案是什么?
最佳答案
全局 bec
变量从未初始化。您在构造函数的范围内创建一个新的 bec
变量。
尝试以下操作:
public class welcomepage extends javax.swing.JFrame {
backendcode bec;
String username;
public welcomepage() {
initComponents();
username=null;
bec= new backendcode("dummy");
...
关于java - java中不正确的对象创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12496994/