zhangyanfengzi 2012-09-18 15:55 采纳率: 100%
浏览 183
已采纳

哥们纠结一个问题为什么静态引用类型变量可以调用非静态的方法

public class OracleUtil {
    
    private static OracleUtil oracleUtil = new OracleUtil(); 
    
    private BasicDataSource bds=null;
    
    private OracleUtil(){
        try {
            Properties props = new Properties();
            props.load(OracleUtil.class.getClassLoader().getResourceAsStream("connection.properties")); // 得到当前类的类加载器,以流的方式读取配置文件
            
            bds=new BasicDataSource();
            bds.setDriverClassName(props.getProperty("orcl.driver"));
            bds.setUrl( props.getProperty("orcl.connection"));
            
            bds.setUsername( props.getProperty("orcl.name"));
            bds.setPassword(props.getProperty("orcl.password"));
            
            bds.setInitialSize(5);
            bds.setMaxActive(9);
            bds.setMaxIdle(7);
            
            bds.setMinIdle(4);
            bds.setMaxWait(5000);
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    public static OracleUtil getOracleUtil(){
        return oracleUtil;
    }

    public Connection getConnection() {
        Connection conn = null;
        try {
            conn = bds.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
public class SearchOracleIP {
    
    OracleUtil oracleUtil;
    Connection conn;
    PreparedStatement pstmt;
    ResultSet rs;
    Map map;
    
    public Map SearchByIP() {
        oracleUtil=OracleUtil.getOracleUtil();
        conn = oracleUtil.getConnection();

 conn = oracleUtil.getConnection();oracleUtil不是静态的引用类型变量吗?为什么可以调用非静态的getConnection();方法呢?

  • 写回答

5条回答 默认 最新

  • jinnianshilongnian 2012-09-18 20:28
    关注

    1、oracleUtil 是个静态变量(本质还是引用一个对象)
    2、oracleUtil.getConnection(); 调用oracleUtil引用的对象的那个getConnection 方法;
    是没有问题的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作