博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
详解Java中staitc关键字
阅读量:6367 次
发布时间:2019-06-23

本文共 1226 字,大约阅读时间需要 4 分钟。

 一、static定义
  static是静态修饰符意思,什么叫静态修饰符呢?大家都知道,在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。这样做有什么意义呢?
  在Java程序里面,万物皆对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的。
  static声明的静态变量可以直接通过类名调用!
1 class Demo{
2     public static void main(String[] args)
3     {
4         Person p = new Person();
5         System.out.println(p.country);        //1、新建对象调用
6         System.out.println(Person.country); //2、通过类名直接调用
7     }
8 }
9 class Person{
10     static String country = "china";
11 }
  
二、static特点
  由此我们得出static的特点。
  a、static是一个修饰符,用于修饰成员。
  b、static修饰的成员被所有的对象共享。
  c、static优先于对象存在,static成员随着类的加载就已经存在。
  d、static修饰成员多一种调用方式--通过类名调用。
  
三、成员变量和静态变量区别?
  1.两个变量的生命周期同
  成员变量随对象创建存在,随对象回收而释放。
  静态变量随类的加载而存在,同样也随着类而消失。
  2、调用方式
  成员变量只能被对象调用。
  静态变量能被对象调用,还可以被类名调用。
  3、内存中存储位置不同。
  成员变量存储在堆内存中。
  静态变量存储在方法区(共享数据区)的静态区。
  四、静态使用注意事项
  1、静态方法只能访问静态成员。
  2、静态方法中不可以用this或super关键字。
  3、主函数都是静态的。
class Demo{
public static void main(String[] args)
{
Person.show();
}
}
class Person{
static String country = "china";
String name = "jinfulin";
public static void show()
{
System.out.print(country);    //正确
//System.out.print(name);    //错误
}
}
最新内容请见作者的GitHub页:http://qaseven.github.io/

转载地址:http://dbgma.baihongyu.com/

你可能感兴趣的文章
jQuery文件上传插件 Uploadify更改错误提示的弹出框
查看>>
RHEL6下Apache与Tomcat整合
查看>>
Heartbeat+DRBD+MFS高可用
查看>>
要感谢那些曾经慢待你的人
查看>>
常见的global cache等待事件
查看>>
第 7 章 多主机管理 - 047 - 管理 Machine
查看>>
CentOS5和6的系统启动流程
查看>>
怎么看域客户端是否继承了组策略
查看>>
linux防止DDoS***
查看>>
6.4 Linked List 重做
查看>>
小米路由
查看>>
QT 学习 之 窗口拖拽 实现
查看>>
PHP的ftp文件,多文件上传操作类
查看>>
js中清空数组的方法
查看>>
python def说明
查看>>
Java根据IP获取国家省级地市信息
查看>>
自动安装系统及网络安装服务
查看>>
11g RAC 更改归档模式 ,归档文件存放在ASM 磁盘组
查看>>
Visual Studio安装项目中将用户选择的安装路径写入注册表的方法[转]
查看>>
【转载】VBA:调用文件夹对话框的几种方法
查看>>