关于java静态方法里只能调用静态变量的思考

2023-10-30

最近一段时间里面写了这样一个类:

public class DBManager {
    private static MySqliteHelper helper;
    public static MySqliteHelper getHelper(Context context){
        if (helper == null){
            helper = new MySqliteHelper(context);
        }
        return helper;
    }

    public static void execSql(SQLiteDatabase db,String sql){
        if (db != null){
            if (sql != null && !"".equals(sql)){
                db.execSQL(sql);
            }
        }
    }
}
private static MySqliteHelper helper;
一开始上面这行代码我并没有加static修饰,然后工具就报错了。
下面仔细分析一下原因:静态变量和静态方法属于整个类的共享,不管这个类有没有实例化出对象均可以调用。
而非静态变量的引用必须先初始化对象。
"".equals(sql)
另外,上面一行代码这样写可以避免空指针异常。



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于java静态方法里只能调用静态变量的思考 的相关文章

随机推荐

  • 一文搞懂linux磁盘管理以及各场景扩容需求(实操)

    Linux常见磁盘分类 在linux上面 我们经常见到sda sdb hda hdb这样的磁盘显示 sd hd表示硬盘 sd表示硬盘是scsi接口 a表示第一块插槽盘 b表示第二块插槽盘 hd表示硬盘是IDE接口 同理a表示第一块插槽盘 b
  • Linux下.ko, .o, .so, .a, .la文件

    能上线啦 CSDN博客第二期云计算最佳博主评选 Linux下 ko o so a la文件 分类 Linux 系列 2011 12 12 23 30 2669人阅读 评论 0 收藏 举报 linux gcc makefile library
  • 微信分享审请AppID、AppSecret注意问题

    微信 审请AppID AppSecret http open weixin qq com 账号 qq com 密码 步骤 1 填写应用名称 简介相应信息 上传图片 2 填写平台信息 官网 平台类型 下载地址 应用签名 应用包名 3 提交信息
  • 面向对象是什么?

    一 面向对象是什么面向对象 Object Oriented OO 的思想对软件开发相当重要 它的概念和应用甚至已超越了程序设计和软件开发 扩展到如数据库系统 交互式界面 应用结构 应用平台 分布式系统 网络管理结构 CAD 技术 人工智能等
  • 一致性hash算法原理及golang实现

    概述 这里存在一种场景 当一个缓存服务由多个服务器组共同提供时 key应该路由到哪一个服务 这里假如采用最通用的方式key N N为服务器数目 这里乍一看没什么问题 但是当服务器数目发送增加或减少时 分配方式则变为key N 1 或key
  • Sentinel 熔断与限流

    文章目录 1 是什么 2 特征 3 特性 4 与Hystrix的区别 5 两个部分 6 应用 6 1 依赖 6 2 配置文件 7 流量配置规则 7 1 直接 默认 7 2 关联 7 3 Warm Up 预热 7 4 排队等待 8 熔断降级
  • 第一个Java程序,简单的打开图片并显示在面板上

    代码如下 1 import java awt Component 2 import java awt EventQueue 3 import java awt Graphics 4 import java awt event 5 impor
  • Linux (Ubuntu、CentOS) 如何 [禁用/启用] 图形界面

    Linux Ubuntu CentOS 如何 禁用 启用 图形界面 禁用图形界面本质就是调整 linux 的运行级别 runlevel PS 这里不讨论 GUI Desktop 的安装与卸载 一 什么是 Linux 运行级别 linux 操
  • Git删除本地修改

    git如何删除本地所有未提交的更改 git checkout git clean xdf 一般 git clean都是配合git reset 使用的 如果你有的修改已经加入了暂存区 那么 命令git reset hardgit clean
  • 事务(Transaction)

    事务 Transaction 事务 是数据库中的可以保证多个 至少2个 写操作 增 删 改 要么全部执行成功 要么全部执行失败的机制 在基于Spring JDBC的项目中 使用 Transactional注解 即可使得注解的方法是事务性的
  • 电脑加了内存条后,C盘空间突然被占用的解决办法!!!

    Hello everyone 我是鲁班 一个热衷于科研和软开的胖子 问题描述 WIN10电脑 自行加了8G内存条后 C盘空间显示减少了4G 解决方法 右键 此电脑 点击 属性 跳转至此界面 点击 高级系统设置 选择 高级 卡片 点击 性能
  • 备忘命令

    sudo vpnc connect
  • Python数据分析-绘图-2-Seaborn进阶绘图-3-分布图

    一 kdeplot 核密度估计用来估计未知的密度函数 是非参数检验之一 直观上来看是平滑后的直方图 核密度估计方法不利用有关数据分布的先验知识 对数据分布不附加任何假定 是一种从数据样本本身出发研究数据分布特征的方法 因而 在统计学理论和应
  • 节节高升 蓝桥杯模拟

    问题描述 小蓝要上一个楼梯 共 15 级台阶 小蓝每步可以上 1 级台阶 也可以上 2 级 3 级或 4 级 再多就没办法一步走到了 每级台阶上有一个数值 可能正也可能负 每次走到一级台阶上 小蓝的得分就加上这级台阶上的数 值 台阶上的数值
  • Java获得当前日期是星期几

    第一种方法 获取当前日期是星期几 br param date return 当前日期是星期几 public String getWeekOfDate Date date String weekDays 星期日 星期一 星期二 星期三 星期四
  • Antd Design Mobile tab去除下方蓝色边框和对tab里面的sticky布局的影响

    前言 最近在写手机端的项目 技术栈是 react Antd Desin Mobile 有个页面需要使用antd的组价tabs 然后遇到了tab下方有俩蓝色边框 一大一小 小的在上 大的在下 下方是表格 表格使用sticky布局 布局失效 百
  • Ubuntu19.04环境下的系统安装+花屏问题的解决

    说在前面 本文只做自我总结用 因为一次次重装环境到处找博客看帖实在是太麻烦了 而且网上的博客还良莠不齐 还有好多版本不兼容 本文中的某些图片是截图 某些是照片 在不能截图的情况下 图片比例可能会显示不正常 鼠标移到图片上单击放大查看就可以了
  • 区块链-技术简介

    1 什么是区块链 区块链技术是利用块链式数据结构来验证与存储数据 利用分布式节点共识算法来生成和更新数据 利用密码学的方式保证数据传输和访问的安全 利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式 简单
  • 复制CSDN的BLOG代码,去掉前面行号的方法

    我们如果从CSDN的BLOG复制代码 出现前面的行号 比如 1 文本没有缩写 2 Specify blanket rules for all elements 3 font size 12px 4 line height 160 5 fon
  • 关于java静态方法里只能调用静态变量的思考

    最近一段时间里面写了这样一个类 public class DBManager private static MySqliteHelper helper public static MySqliteHelper getHelper Conte