美文网首页
对于Static的思考

对于Static的思考

作者: QinRenMin | 来源:发表于2017-12-07 20:16 被阅读0次

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

被修饰后的成员特点:
  • 随着类的加载而加载;
  • 优先于对象存在;
  • 被所有对象共享;
  • 可直接被类名调用。
注意:
  • 静态方法只能访问静态成员(变量和函数);
  • 静态方法不可以与thi,super关键字一起使用;
  • 主函数是静态的。

例如:

class Person{
  String name; //实例变量(成员变量)存在堆中
  static String country = "CN";//静态变量(类变量)共享数据,节约内存
public void show(){
  System.out.println(country+":"+name);//前者省略类名,后者省略this
}
}
class StaticDemo{
  public static void main(String[] args){
    Person P = new Person();//P是类类型变量
    P.name = "Jane";
   P.show();
    System,out,println(Person.country);
    System.out.println(P.country);
}
}

什么时候用静态?(没有访问特有数据)

  • 静态变量
    当分析对象中索具备的成员变量的值是相同的,不需要存储在对象中。
  • 静态函数
    函数是否用于静态修饰,就参考一点,就是该函数是否要访问到对象中的特有数据,没有则静态。
    从源代码角度分析,该功能是否需要访问到对象的成员变量,如果需要,该功能是非静态的,如果不需要,该功能是静态的,当然,也可以定义非静态的,但是非静态的需要被对象调用,而仅仅创建对象调用非静态的没有访问特有数据的方法,该对象的创建是无意义的。

相关文章

  • 对于Static的思考

    作用:用于修饰成员(成员变量和成员函数) 被修饰后的成员特点: 随着类的加载而加载; 优先于对象存在; 被所有对象...

  • static

    用static修饰的成员叫静态成员或类成员 public static int price;//售价 对于价格...

  • 对于'=='的思考

    1. 抛出问题 控制台输出以下三个分别是什么: 'hello' ? true : false 'hello' ==...

  • JanusGraph---Advanced Schema

    Static Vertices 对于加载到图中后不希望被改变的顶点,应该定义为static。 将顶点label定义...

  • 变量与对象 final关键字 和 static关键字

    1:变量与对象 2:final与static的定义 3:final与static 一起使用 4:对于单例模式 f...

  • 对于婚姻的思考🤔

    结婚近4年,有娃初长成,最近有感,引发对婚姻的思考。婚姻是什么?是爱情么,还是亲情,感情,亦或是一种习惯或责任。可...

  • 对于裂变的思考

    目的:更高效的获客 本质:用户带用户,实现指数型传播 典型的裂变方案:拼团、砍价、抽奖(完成任务得更多抽奖机会)、...

  • 对于产品的思考

    人性是懒惰的,而正是因为懒惰,才推进了世界的进步。 世界上有很多产品,每个产品的出现都有一定的意义,或大或小,从它...

  • 对于沟通的思考

    今天早上我特别生气。事情是这样子的,我今天早上需要开车带大宝去幼儿园参加秋游活动,8:30出发。早上带着孩子收拾时...

  • 对于代码的思考

    来北京做程序员也将近两年了,想想这两年时间,感觉自己在技术上却没有什么突破,没有什么让自己感到什么成就的。总是...

网友评论

      本文标题:对于Static的思考

      本文链接:https://www.haomeiwen.com/subject/kzpjixtx.html