美国上市公司,专注Java培训21年

JAVA中的static关键字作用与用法


tatic关键字:

一、特点:

1、static是一个修饰符,用于修饰成员。(成员变量,成员函数)static修饰的成员变量 称之为静态变量或类变量。

2、static修饰的成员被所有的对象共享。

3、static优先于对象存在,因为static的成员随着类的加载就已经存在。

4、static修饰的成员多了一种调用方式,可以直接被类名所调用,(类名.静态成员)。

5、static修饰的数据是共享数据,对象中的存储的是特有的数据。

二、成员变量和静态变量的区别:

1、生命周期的不同:

成员变量随着对象的创建而存在随着对象的回收而释放。

静态变量随着类的加载而存在随着类的消失而消失。

2、调用方式不同:

成员变量只能被对象调用。

静态变量可以被对象调用,也可以用类名调用。(推荐用类名调用)

3、别名不同:

成员变量也称为实例变量。

静态变量称为类变量。

4、数据存储位置不同:

成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据。

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

三、静态使用时需要注意的事项:

1、静态方法只能访问静态成员。(非静态既可以访问静态,又可以访问非静态)

2、静态方法中不可以使用this或者super关键字。

3、主函数是静态的

四、什么时候使用static来修饰

1、静态变量:

(1)当分析对象中所具备的成员变量的值都是相同的。这时这个成员就可以被静态修饰。

(2)只要是数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中,是非静态的。

(3)如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中,是静态的。

2、静态函数。

(1)函数是否用静态修饰,就参考一点,就是该函数功能是否有访问到对象中特有的数据。

(2)简单来说,从源代码看,该功能是否需要访问非静态的成员变量,如果需要,该功能就是非静态的。如果不需要,就可以将该功能定义成静态的。当然,也可以定义成非静态,但是非静态需要被对象调用,而仅创建对象是没有意义的。

3、静态代码块:

(1)随着类的调用或创建实例而执行,而且只执行一次。

作用:用于给类进行初始化。

当你还在担心能否就业时,达内学员提前被企业录取;当你转辗于各大招聘会时,达内学员收到了高薪offer;当你在各大招聘网站投递简历时,达内学员中有人一毕业进入五百强名企。所以选择很重要。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • 零基础Java培训学习路线
    零基础Java培训学习路线
    任何学习都是从无基础到有基础的,很多Java初学者在学过一段时间会觉得Java学习最头疼的不是语法结构的繁杂,而是Java本身体系结构的庞大。深切的感受到了零基础学习Java如果没有一个好的Java学习路线很容易半途而废,最后自己学成一团乱麻,零基础学习Java建议参加Java培训,这样Java培训学习路线就很清晰了。那么零基础Java培训学习路线 详情>>

    2019-02-28

  • 零基础学习Java有必要参加培训吗?
    零基础学习Java有必要参加培训吗?
    零基础学Java有必要参加培训吗?我作为一个转行做Java的“过来人”回答这个问题还是比较有资格的,我是报班学的。我觉得这就是最有效,最快的学习方式,大家都经历过各个阶段的学习,任何时候大家都应该明白有一个经验丰富的老师教,遇到问题随时可以解答,并且遇到错误能够第一时间被发现和被改正,这是进步最快的方式。 详情>>

    2019-04-01

  • 零基础学Java编程从哪里入手?
    零基础学Java编程从哪里入手?
    零基础学Java编程从哪里入手?零基础学习Java编程可以从以下几个步骤入手: 详情>>

    2024-04-08

  • 学习Java编程如何快速入门?
    学习Java编程如何快速入门?
    学习Java编程如何快速入门?学习Java编程快速入门的关键在于有计划地掌握基础知识,通过实践加深理解,并不断地积累经验。以下是详细步骤: 详情>>

    2024-01-31

  • Java开班时间

    收起