![](/img/trans.png)
[英]why do i get a null pointer exception when i call the constructor of a another class?
[英]why the getter method goes null when i call in another class?
但是在另一个类的 set 方法中,当我得到值时,我有 3 个类,第一个类是 getter setter 类,第二个是填充集合的类,最后一个是获取方法 getter 的类,但它变成空值...
public class loginAdminn {
String Username, Password;
public String getUsername() {
return Username;
}
public void setUsername(String Username) {
this.Username = Username;
}
public String getPassword() {
return Password;
}
public void setPassword(String Password) {
this.Password = Password;
}
}
// method to fill the set on another class
public void in(){
loginAdminn p = new loginAdminn();
String user = Username.getText();
String pass = Password.getPassword().toString();
p.setUsername(user);
p.setPassword(pass);
// new NewMain().run();
tes.jalankan();
}
// class method getter (null)
public void jalankan() {
loginAdminn br = new loginAdminn();
String kueri = "Select Username, password from Admin";
int x = 0;
try {
ps = conn.prepareStatement(kueri);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
if (br.getUsername().equalsIgnoreCase(rs.getString("Username"))) {
if (br.getPassword().equalsIgnoreCase(rs.getString("Password"))) {
JOptionPane.showMessageDialog(null, "Masuk Berhasil");
x = 1;
break;
}
}
}
if (x == 1) {
HomeAdmin b = new HomeAdmin();
b.setVisible(true);
} else {
JOptionPane.showMessageDialog(null, "Masuk Gagal");
DaftarAplikasi da = new DaftarAplikasi();
da.setVisible(true);
}
ps.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());
}
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
//the getUsername and getPassword goes null
您的 getUserName() 即将为空,因为您用来比较的对象没有分配给它的 userName 值。
public void jalankan() {
//creating an object here , br has no username assigned
loginAdminn br = new loginAdminn();
String kueri = "Select Username, password from Admin";
int x = 0;
try {
ps = conn.prepareStatement(kueri);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
if (br.getUsername().equalsIgnoreCase(rs.getString("Username"))) {
if (br.getPassword().equalsIgnoreCase(rs.getString("Password"))) {
JOptionPane.showMessageDialog(null, "Masuk Berhasil");
x = 1;
break;
}
}
}
当您阅读 br.getUserName() 时,它应该给您 null。
A级
String x;
setter getter x
A c = new A();
c.get... // object Class A type X
B级
A c = new A();
c.get... // object Class B type X
c.get from Class A != c.get from Class B
基本上通过使用new
你创建了两个相互独立的对象!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.