oracle数据库,数据传参时出现的问题,已解决,求原因

public Address queryAddress(int addId){

Address add = new Address();

    try{
        Connection conn =super.getConn();
        String sql ="select addressid ,addstreet from address where addressid=?";
        PreparedStatement ps = conn.prepareStatement(sql);
        System.out.println(sql);
        ps.setInt(1, addId);
        ResultSet rs = ps.executeQuery();
        while(rs.next()){   
            add.setAddressid(rs.getInt("addressid"));
            add.setAddstreet(rs.getString("addstreet"));
        }
        rs.close();
        ps.close();
        conn.close();

    }catch(Exception e){
        e.printStackTrace();
    }
    return add;
}

粗体部分为疑问代码,
首先这个代码段是正常执行的,
当我将黑体代码更换为

Address add = null; (Address 为一个bean类)

结果在传数据时出现空指针异常,
我想知道这个问题的详细说明,求大神指教

Address add = null; 时
你怎么还能add.setAddressid()。。它里面的全为Null。所以肯定报错啊

你就相当于写了add.setAddressid(rs.getInt("addressid"))---》null=rs.getInt("addressid")

address add=null; 相当于你只声明了一个address的对象,名为add里面是空的,并不会用set.get方法。