java static 特点
来源:互联网 发布:淘宝售假白名单 编辑:程序博客网 时间:2024/04/29 13:01
class Person{
……
static string country = "cn";
}
class StaticDemo{
public static void main(String[] args){
//Person p = new Person();
//System.out.println(p.country);
System.out.println(Person.country);
}
}
当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用。 类名.静态成员 Person.country
static 特点: 1 随着类的加载而加载,就是说,静态会随着类的消失而消失。说明它的生命周期最长(静态代码块static{}优先于主函数执行,执行一次)
2 优先于对象存在,静态是先存在,对象是后存在的。
3 被所有的对象所共享
4 可以直接被类名所调用
实例变量和类变量的区别:
1. 存放位置:类变量随着类的加载而存放在方法区中,实例变量随着对象的建立而存放在堆内存中
2. 生命周期:类变量 生命周期最长,随着类的消失而消失。实例变量生命周期随着对象的消失而消失。
静态使用注意事项:
1 静态方法只能访问静态成员(包括方法、变量)
非静态方法既可以访问静态也可以访问非静态
2 静态方法中可以不定义this super 关键字 因为静态优于对象存在。
3 主函数是 静态的。
静态有利有弊:
利:对对象的共享数据进行单独空间的存储,节省空间。没有必要每个对象中都存储一份。可以直接被类名调用。
弊:生命周期过长。 访问出现局限性。(静态虽好,只能访问静态)
静态的应用。
有时每一个方法,都没用到ArrayTool对象中特有的数据,此时是不需要对象的。
将ArrayTool中的方法都定义成static的,直接通过类名调用即可。
将方法定义成静态之后,可以方便使用。但是该类还是可以被其他程序简历对象(占内存)。为了更严谨,强制让该类不能建立对象。可以通过将构造函数私有化。
class ArrayTool{
private ArrayTool(){}
<span style="white-space:pre"></span>public static int geeMax(int[] arr){
<span style="white-space:pre"></span>int max = 0;
<span style="white-space:pre"></span>for(int x=1;x<arr.length;x++){
<span style="white-space:pre"></span>if(arr[x]>arr[max])
<span style="white-space:pre"></span>max = x;
<span style="white-space:pre"></span>}
<span style="white-space:pre"></span>}
<span style="white-space:pre"></span>.....}
- java static的特点
- java static 特点
- Java中static的特点
- 【Java】static在java中的意义,特点与使用
- 【Java】static在java中的意义,特点与使用
- static在java中的意义,特点与使用
- Java面向对象,static修饰符和特点
- java中final、static和abstract的特点
- java中static的特点&&静态变量和静态方法分别有什么特点
- 6、static特点
- static变量特点介绍
- static变量特点介绍
- static 的特点
- static关键字的特点
- static关键字----特点
- static的特点及注意事项
- Static的用法及特点
- static关键字使用特点回顾
- 推荐
- ASCII 、GB2312、GBK、GB18030、unicode、UTF-8字符集编码详解
- POJ3259(最经典的SPFA)
- Python:读取文件并分词+文件写入
- codeforces 387D George and Interesting Graph (二分图匹配)
- java static 特点
- 近期总结
- 算法-简单的四则运算
- xshell连接ubuntu
- matlab坐标轴设置及其各类关于画图的函数
- 使用JXL实现对Excel文件的简单操作
- Volley框架下的三级缓存的使用工具类
- Java_集合操作_关于subList,子列表
- java内存分配和string的深度解析