博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
黑马程序员-java学习之static关键字
阅读量:5129 次
发布时间:2019-06-13

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

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

static关键字:

  • 用于修饰成员(成员变量和成员函数)

被修饰后的成员具备以下特点:

  • 随着类的加载而加载
  • 优先于对象存在
  • 被所有对象所共享
  • 可以直接被类名调用

static的特点

  1. static是一个修饰符,用于修饰成员
  2. static修饰的成员被所有的成员所共享。
  3. static优先于对象存在,因为static的成员随着类的加载就已经存在
  4. static修饰的成员多了一种调用方式,可以直接用类名调用
  5. static修饰的数据是共享数据,对象中存储的数据是特有数据

成员变量与静态变量的区别

1 . 两个变量的生命周期不同

  • 成员变量随着对象的创建而存在,随着对象的被回收而释放。
  • 静态变量随着累的加载而存在,随着类的消失而消失。

2 . 调用方式不同

  • 成员变量只能被对象调用。
  • 静态变量可以被类和对象调用。

3 . 别名不同

  • 成员变量也称为实例变量。
  • 静态变量称为类变量。

4 . 数据存储位置不同

  • 成员变量数据存储位置在堆内存的对象中,所以也叫对象的特有数据。
  • 静态变量存储在方法区(静态区)中,所以也叫对象的共享数据。

使用注意

  • 静态方法只能访问静态成员(局限性,非静态可以访问静态,有可以访问静态)
  • 静态方法中不可以使用this、super关键字
  • 主方法是静态的
  • 由于static修饰的数据是共享数据,如果此数据在一处被修改,在使用此数据的其他对象中的数据也将被修改。

例:主函数

public class void main(String[] args)

主函数的特殊之处:

  1. 格式是固定的
  2. 被JVM调用和识别
  • public : 最大权限
  • static : 不需要对象,直接用主函数所属类名调用
  • void : 主函数没有具体的返回值
  • main : 函数名,不是关键字,只是能够被JVM识别的名字
  • string[] args : 主函数的参数列表,是一个数值类型的参数,而且元素都是字符串类型。

Test.java

public class Test{ public static void main(String[] args){ System.out.println(args); System.out.println(args.length); } }

输出结果:

// [(表示为数组)、L(long)、java.lang(包名)、String(类)、@659e0bfd(哈希值)

[Ljava.lang.String;@659e0bfd

0

转载于:https://www.cnblogs.com/itheimazl/p/4759310.html

你可能感兴趣的文章
2016.09.24我的第一个技术博客
查看>>
android广播机制的简单接受BroadcastReceiver
查看>>
GPT转MBR怎么转?
查看>>
Using AntiForgeryToken make it better
查看>>
数据库翻译
查看>>
Linux 虚拟内存和物理内存的理解
查看>>
Docker创建PHP镜像
查看>>
lua---研究 c-api
查看>>
Android自定义用户控件简单范例(一)
查看>>
课时24:递归:汉诺塔
查看>>
点击输入框,标题上移
查看>>
第二天
查看>>
编程的97件事——8、童子军军规
查看>>
ref out param 区别
查看>>
Android访问WCF服务(使用json实现参数传递)
查看>>
Maven依赖中的scope详解
查看>>
springMVC项目,存中文到mysql是乱码(?????)
查看>>
2015年元旦即将来临-发小视频>问候大家一下!
查看>>
Python文件操作题
查看>>
[唐诗]从军行-杨炯
查看>>