Java基础---------Static的简单总结
来源:互联网 发布:淘宝吸引人的主图 编辑:程序博客网 时间:2024/06/06 04:09
Java基础---------Static的简单总结
Static修饰的成员变量:
static修饰的成员变量是其所属类的所有对象共享;
Static修饰的成员变量是随着类的加载就在内存方法区的静态区开辟空间了,优先与非静态;
Static修饰的成员变量既可以通过对象来访问,也可以通过类名访问。
class Test
{
Public static int temp=5;
}
Class Demo
{
Public static void main(String[] args)
{
System.out.println(Test.temp); //输出5
System.out.println(new Test().temp);//输出5
}
}
静态成员变量与非静态成员变量的区别:
存储的数据:非静态成员变量存储的是其所属类每个对象特有属性;静态成员变量存储的是其所属类的所有对象共享属性的数据。
存储的位置:非静态成员变量是随着对象的创建在堆中开辟内存;静态成员变量是随着类的加载在方法区的静态区开辟内存的。
生命周期:非静态成员变量是当其所属的对象被创建时才开辟内存的,对象被垃圾回收时就释放内存了;静态成员变量是随着类的加载在方法区的静态区开辟内存,程序退出时才释放内存。
访问方式:非静态成员变量只能通过对象来访问;静态成员变量即可以通过对象来访问,也可以通过类名直接访问。
Static修饰静态成员函数:
静态函数内部只能使用静态变量,不可以使用非静态变量;
静态函数在加载类时同时被加载到方法区的静态区;
静态函数可以直接通过类名访问。
class Test
{
Public static void show()
{
System.out.println(“hello world!”);
}
}
Class Demo
{
Public static void main(String[] args)
{
Test.show();//输出hello world!
new Test().show();输出hello world!
}
}
静态的应用:
可以运用在工具类,直接类名.方法名调用,如果该工具类不想被实例化,可以让该类的构造函数私有化,就只能同过类名来访问。
静态代码块:随着类的加载就执行,且只执行一次,优先于main函数的执行.
class Test
{
static
{
System.out.println("Hello World!");
}
public void static void main(String[] args)
{
}
} //执行这段代码会输出:Hello World!
静态代码块的作用:可以实现类的初始化。
在继承中,父类的方法如果是静态的,子类重写这个方法也要是静态的;
在内部类中,如果含有静态成员,那么该内部类必须也是静态的;
- Java基础---------Static的简单总结
- Java中static的简单总结
- Static的简单总结
- Java 基础总结--static关键字
- java的static总结
- java 的static总结
- 对java基础的简单总结
- JAVA基础之static关键字方法总结
- 【java】static关键字的总结
- Java 的 static 关键字总结
- java基础 多线程 简单总结
- Java基础IO流的简单总结(转)
- Java基础:关于SSH架构的简单总结
- java web B/s的简单实用基础总结(1)
- java web B/s的简单实用基础总结(2)
- JAVA基础 final、static关键字的使用
- Java基础之static的使用
- Java中的基础-----static关键字的作用
- 最小生成树—Kruskal 算法
- ORACLE会话连接进程三者总结
- base64图片操作处理
- 两个非常奇怪的梦
- 007:When to use LinkedList over ArrayList?
- Java基础---------Static的简单总结
- Android 开源框架Universal-Image-Loader完全解析(二)--- 图片缓存策略详解
- GCD Again
- reactor 和 proactor 模式的异同点
- memcpy内存重叠问题
- H264—MP4格式及在MP4文件中提取H264的SPS、PPS及码流
- Java基础总结 1
- C++的STL库常用API--stack
- 如何修改windows下mysql的字符集