Java中static的含义和用法

Java中static的含义和用法static:静态的,用于修饰成员(成员变量,成员方法);1.被static所修饰的变量或者方法会储存在数据共享区;2.被static修饰后的成员变量只有一份!3.当成员被static修饰之后,

大家好,又见面了,我是你们的朋友全栈君。

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

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

2.被static修饰后的成员变量只有一份!

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

被类名调用,(类名.静态成员);

4.static的特点:

1.随着类的加载而被加载;

2.优先于对象存在;

3.被所有对象共享;

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

6.存放位置

1.类变量随着类的加载而存在于date内存区;

2.实例变量随着对象的建立而存在于堆内存;

7.生命周期:

1.类变量周期生命最长,随着类的消失而消失;

2.实例变量生命周期比类变量短,它是随着对象的消失而消失;

8.方法注意事项:

1.静态的方法只能访问静态的成员;

2.非静态得方法即能访问静态得成员(成员变量,成员方法)又能访问非静态得成员;

3.局部变量不能被static修饰;

4.静态得方法中是不可以定义this、super关键字的,因为静态优先于对象存在,所以静态方法不可以出this;

 

9.什么时候使用static修成员:

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

 

10.什么时候使用static修饰方法:

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

 

 

 

Example:

class Examples{

  String name;

  //当属于同一个类的所有对象出现共享数据时,就需要将存储这个共享数据的成员用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();
  }

}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154716.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • uCOS OSTaskCreate()函数分析[通俗易懂]

    uCOS OSTaskCreate()函数分析[通俗易懂]INT8U OSTaskCreate(void(*task)(void*pd), void*p_arg,OS_STK*ptos,INT8Uprio);函数返回一个8位的整型数,调用该函数需要四个参数。第一个参数一个指针,也就是用户代码的首地址,在平时使用中我们把自己创建的任务的名字作为这个参数就可以了;第三个参数是指向任务堆栈栈顶的指针,通常我们把创建的任务的堆栈数组的首地址

    2022年9月5日
  • 『迷你教程』机器学习的Bootstrap及Python实现[通俗易懂]

    『迷你教程』机器学习的Bootstrap及Python实现[通俗易懂]文章目录引导法引导程序的配置引导程序APIBootstrap方法是一种重采样技术,用于通过对数据集进行替换采样来估计总体统计数据。它可用于估计汇总统计数据,例如均值或标准差。它在应用机器学习中用于在对未包含在训练数据中的数据进行预测时估计机器学习模型的技能。估计机器学习模型技能的结果的一个理想特性是可以用置信区间表示估计的技能,这是其他方法(例如交叉验证)不容易获得的特征。在本文中您将发现用于估计机器学习模型对未知数据的技能的引导重采样方法。bootstrap方法涉及对数据集进行迭代重采样

    2022年9月25日
  • 布隆过滤器原理简介视频_布隆过滤器误判怎么办

    布隆过滤器原理简介视频_布隆过滤器误判怎么办目录1.布隆过滤器简介2.布隆过滤器的实现思路3.布隆过滤器的公式4.实际应用场景1.布隆过滤器简介布隆过滤器(BloomFilter)是由一个很长的bit数组和一系列哈希函数组成的。本质上是一种数据结构,比较巧妙的概率型数据结构。它的特点是高效地插入和查询,并且根据查询结果可以知道某样东西一定不存在或者可能存在。相比于传统的List、Set、Map等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的,同时布隆过滤器还有一个缺陷就是数据只..

    2022年10月7日
  • WEB框架本质和第一个Django实例

    Web框架本质我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。这样我们就可以自己实现Web框架了。半成品自定义web框架可以说We

    2022年3月29日
  • Activity中bindService和registerReceiver的清理工作[通俗易懂]

    Activity中bindService和registerReceiver的清理工作[通俗易懂]在Android开发中,我们经常需要注册BroadcastReceiver和bindservice。接口函数如下:publicIntentregisterReceiver(BroadcastReceiverreceiver,IntentFilterfilter);publicvoidunregisterReceiver(BroadcastReceiverrecei

    2022年9月11日
  • 用flash做古诗动画_《古诗三首》Flash动画课件[通俗易懂]

    用flash做古诗动画_《古诗三首》Flash动画课件[通俗易懂]《古诗三首》Flash动画课件古诗词三首牧童[唐]吕岩草铺横野六七里,笛弄①晚风三四声。归来饱饭黄昏后,不脱蓑衣②卧月明。注释①弄:逗弄。②蓑衣:棕或草编的外衣,用来遮风挡雨。………舟过安仁①[宋]杨万里一叶渔船两小童,收篙②停棹③坐船中。怪生④无雨都张伞,不是遮头是使风。注释①安仁:县名。在湖南省东南部,宋时设县。②篙:撑船用的竹竿或木杆。③棹:船桨。④怪生:怪不得。……

    2022年5月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号