static的运用
类变量/类方法也叫做静态变量,静态方法。是该类所有对象共享的变量,任何一个该类的对象去访问它时,取得的都是相同的值,修改也是修改同一个变量。
定义语法:修饰符 static 数据类型 变量名
如何调用:类名.类变量名或者对象名.类对象名(注意类变量也需要考虑修饰符的访问权限)
静态变量和非静态变量的区别:
1、静态变量是在类加载的时候就被创建了。所有不需要实例化也可以访问。非静态变量需要实例化后才能使用。
2、静态变量可以被该类共享,非静态变量被实例化对象独占。
3、静态成员变量在类装载的时候就进行了创建,在整个程序结束时按序销毁。非静态变量在类实例化对象时候创建,在对象销毁的时候销毁。
静态变量的用处:通常在设计工具类使用,可以不用创建对象就直接使用,比如Math中方法用static。
静态方法和非静态方法的细节:
1、静态方法和非静态方法都是随着类加载而加载的,将结构信息存储在方法区
静态方法中无this的参数,this普通方法中隐含着this的参数。
2、只有静态方法允许使用类名调用。非静态方法只允许对象名调用方法。
3、静态方法不允许使用this和super
4、静态方法中只能访问静态变量或者方法内的非静态变量。不能直接访问其他的非静态变量。如果需要访问非静态变量,则需要先实例化后通过对象访问。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理