繁体   English   中英

为什么当我调用另一个类时 getter 方法变为 null?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM