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

Java中static的含义和用法


static修饰的方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都必须依赖具体的对象才能够被调用。下面就为大家讲解一下Java中static的含义和用法。

static:静态的,用于修饰成员(成员变量,成员方法);

1、被static所修饰的变量或者方法会储存在数据共享区;

2、被static修饰后的成员变量只有一份;

3、当成员被static修饰之后,就多了一种访问方式,除了可以被对象调用之外,还可以直接被类名调用,(类名.静态成员);

4、static的特点:随着类的加载而被加载;优先于对象存在;被所有对象共享。

5、被static修饰的变量成为静态变量(类变量)或者实例变量;

6、存放位置:类变量随着类的加载而存在于date内存区;实例变量随着对象的建立而存在于堆内存。

7、生命周期:类变量周期生命最长,随着类的消失而消失;实例变量生命周期比类变量短,它是随着对象的消失而消失。

8、方法注意事项:静态的方法只能访问静态的成员;非静态得方法即能访问静态得成员(成员变量,成员方法)又能访问非静态得成员;局部变量不能被static修饰;静态得方法中是不可以定义this、super关键字的,因为静态优先于对象存在,所以静态方法不可以出this。

9、什么时候使用static修成员:当属于同一个类的所有对象出现共享数据时,就需要将存储这个共享数据的成员用static修饰;

10.什么时候使用static修饰方法:当功能内部没有访问到非静态的成员时(对象特有的数据)那么该功能可以定义成静态的;

Example:

class Examples{

String ame;

//当属于同一个类的所有对象出现共享数据时,就需要将存储这个共享数据的成员用static修饰;

static String country;

//当功能内部没有访问到非静态的成员时(对象特有的数据)那么该功能可以定义成静态的;

static void print(){

System.out.println("你好"+country);

}

//当功能内部有访问到非静态的成员时(对象特有的数据)那么该功能就不可以定义成静态的;

void print1(){

System.out.println("你好"+name);

}

}

public class Test{

public static void main(String[] args){

Examples One = new Examples();

Examples Tow = new Examples();

Examples.country = "中国";

One.name = "小明";

//One.country = "中国";

Tow .name = "小花";

//Tow .country = "中国";

//类名.静态方法名

Examples.print();

One.print1();

}

}

如果你想要在短时间内快速入门java语言的话,达到顺利掌握一门技术,建议还是选择培训机构。达内是你的不二选择。从达内出来的学员,一直以来深受相关企业的认可,好的教师团队和全方位的教学方式,都是培训出高质量IT人才的关键。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在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难吗?这一定是发自于没有任何Java基础的小伙伴的肺腑之言,也是想要迫切改变生活现状通过参加java培训从而实现人生的转折,Java在互联网日新月异的发展中一直处于一个稳定的态势,岗位缺口大,薪资待遇高,这也是很多人想要转行进入Java行业的原因,但是对于没有经验、零基础的人来说转行学Java能不能学会成为了大家所担心的问题。 详情>>

    2020-04-10

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

    2024-01-31

  • Java开班时间

    收起