静态:static
2015-09-13 11:42
113 查看
//静态:static,是一个修饰符,只能够用于修饰成员(成员变量、成员函数)不能用于修饰局部
//当成员被静态修饰后,就多了一种调用方式,除了可以被对象调用,还可以直接被类名调用
/*
* static特点:
* 1.随着类的加载而加载,消失而消失
*
* 2.优先于对象存在
*
* 3.被所有对象所共享
*
* 4.可以直接被类名调用
*
* 实例变量和类变量区别:
* 1.存放位置
* 类变量随着类的加载而存在于方法区中。
* 实例变量随着对象的建立而存在与堆内存中
* 2.生命周期
* 类变量生命周期最长,随着类的消失而消失
* 实例变量随着对象的消失而消失
*
* 静态的使用注意事项:
* 1.静态方法只能访问静态成员
* 非静态方法既可以访问静态也可以访问非静态
* 2.静态方法中不可以定义this、super关键字
* 3.主函数是静态的
* 静态有利有弊:
* 利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每个对象中都存储一份
* 可以直接被类名调用
*
* 弊端:生命周期过长、访问局限性(静态只能访问静态)
* */
public class Person {
String name;//在创建对象时才会被创建--成员变量实例变量
static String country="CN";//静态变量、类变量//此时属性值不在堆内存中了,不同对象仍可以使用(可以共享)
public static void main(String[] args) {
Person p=new Person();
System.out.println(p.country);
System.out.println(Person.country);
}
//当成员被静态修饰后,就多了一种调用方式,除了可以被对象调用,还可以直接被类名调用
/*
* static特点:
* 1.随着类的加载而加载,消失而消失
*
* 2.优先于对象存在
*
* 3.被所有对象所共享
*
* 4.可以直接被类名调用
*
* 实例变量和类变量区别:
* 1.存放位置
* 类变量随着类的加载而存在于方法区中。
* 实例变量随着对象的建立而存在与堆内存中
* 2.生命周期
* 类变量生命周期最长,随着类的消失而消失
* 实例变量随着对象的消失而消失
*
* 静态的使用注意事项:
* 1.静态方法只能访问静态成员
* 非静态方法既可以访问静态也可以访问非静态
* 2.静态方法中不可以定义this、super关键字
* 3.主函数是静态的
* 静态有利有弊:
* 利处:对对象的共享数据进行单独空间的存储,节省空间,没有必要每个对象中都存储一份
* 可以直接被类名调用
*
* 弊端:生命周期过长、访问局限性(静态只能访问静态)
* */
public class Person {
String name;//在创建对象时才会被创建--成员变量实例变量
static String country="CN";//静态变量、类变量//此时属性值不在堆内存中了,不同对象仍可以使用(可以共享)
public static void main(String[] args) {
Person p=new Person();
System.out.println(p.country);
System.out.println(Person.country);
}
相关文章推荐
- zookeeper原理(转)
- RIL_REQUEST_SET_UICC_SUBSCRIPTION 在Qcom平台的流程
- Want to write some code? Get away from your computer!
- 航道水下地形DEM构建方法比较
- Xcode问题记录 一
- 第二周 项目3-体验复杂度(1)
- 利用深度搜索法解决八皇后问题
- 建立工程时,静态库分层的调用关系,一开始就要设计好
- Java学习记录 : 画板的实现
- 1121 - Subsequence (滑动窗口)
- JS面向对象程序设计之创建对象模式
- centos7关闭防火墙
- 环信 iOS Demo 试用小记
- 线程中sleep和wait有什么区别
- 会话跟踪
- StringBuffer的用法
- [leetcode] Plus One
- js中arguments的用法
- angularjs 学习日志01
- static静态修饰符