java中声明为static的方法称为静态方法或类方法。静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法。静态方法中不能使用this关键字,因为静态方法不属于任何一个实例。静态方法不能被子类的静态方法覆盖。
例如:

static class CompanyEmployee{public static string GetCompanyName(string name) { ... }
public static string GetCompanyAddress(string address) { ... }
}
一般来说,类中标注了static的函数能在类外直接引用,比如说:
String M_string1 =CompanyEmployee.GetCompanyName(M_string2)
而没有标注static的函数则必须声明一个类的实体,有实体来引用。比如说:
static class CompanyEmployee{public string GetCompanyName(string name) { ... } //没有Staticpublic static string GetCompanyAddress(string address) { ... }
}
CompanyEmployee M_CompE = new CompanyEmployee();
String M_string1 =M_CompE.GetCompanyName(M_string2);//静态类

说白了,就是调用时候方便 不加static是非静态函数,访问需要new出该类的对象来调用,加上static是静态函数 可直接访问或者通过类名访问

你也知道,static method是类的方法,也就是在Class Loader 类加载的时候JVM会生成相应的字节码。它的生命周期是整个application。所以会一直占用内存。如果不经常使用,没有必要用static。

不加static的method就是对象的方法,必须用对象的实例来调用。并随着对象的消亡而消亡。如果频繁使用该方法,内存会不断地开辟空间、释放空间,性能会受影响。

如果一个方法在多处被调用,而且该方法的功能是一些Utility功能,比如格式化等,对于这类方法可以声明为static。

如果方法和对象关系比较紧密,需要用到对象的某些属性,就声明为该对象的方法。

java函数加不加static有何不同相关推荐

  1. python调用函数加不加括号

    一.不带括号时,调用的是这个函数本身 ,是整个函数体,是一个函数对象,不须等该函数执行完成 二.带括号(参数或者无参),调用的是函数的执行结果,须等该函数执行完成的结果

  2. 函数名前加static与不加static的区别

    函数名前有无static关键词修饰的区别 引入 static修饰特点 代码示例 代码1(对应第1点) 代码2(对应第2点) 代码3(对应第3点) 总结 引入 在定义函数时,前面有时会有static关键 ...

  3. Js函数加括号、不加括号

    Js函数加括号.不加括号 (function a(){}) (命名函数表达式)会返回这个函数(不会执行),但是在括号外面无法调用该函数,需要一个变量接收这个函数,var fun = (function ...

  4. JavaScript与Java函数的比较

    JavaScript与Java函数的比较 学习了两天的JavaScript,会觉得这是一门和Java类似但又有很大不同的语言.很想将这种感受写下来并举例做一些分享. 函数成为了对象? 你很难想到,在学 ...

  5. java 函数内部类_java 内部类详解 转

    classOuter {classInner { } } (二) 内部类的访问规则 ​ A:可以直接访问外部类的成员,包括私有 ​ B:外部类要想访问内部类成员,必须创建对象 (三) 内部类的分类 ​ ...

  6. Java 里面 final 与 static

    final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的.在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会再被扩展,那么就设计为final ...

  7. java函数修饰符_Java 函数 面向对象,修饰符,类,构造方法,this

    1.函数 函数就是定义在类中,具有特定功能的一段小程序. 在面向对象编程的语言中,函数也叫方法. 2.函数的格式 修饰符 返回值类型 函数名(参数类型 实际参数,....) { 执行语句; retur ...

  8. Java Okio-更加高效易用的IO库

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/119997762 本文出自[赵彦军的博客] Java IO流学习总结一:输入输出流 ...

  9. 转!Java关键字final、static使用总结

    Java关键字final.static使用总结 一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非 ...

最新文章

  1. 1025 PAT Ranking
  2. 《ArcGIS Runtime SDK for Android开发笔记》——数据制作篇:发布具有同步能力的FeatureService服务...
  3. m_Orchestrate learning system---二十四、thinkphp里面的ajax如何使用
  4. 微信和支付宝中的一些常用方法封装
  5. Kubernetes健康检查如何做?官方推荐教程
  6. 2008R2Win7管理二十六ADRMS客户端使用及侦错
  7. Cloud一分钟 | 腾讯打造云启商学院,马化腾将担任荣誉院长;阿里巴巴:2018财年云计算收入同比增长101%...
  8. html在线摄像头,在HTML里加载摄像头的方法
  9. Python+MySQL开发医院网上预约系统(课程设计)一
  10. 疑似OPPO Find X2外观专利曝光:月亮形相机模组亮了
  11. LeetCode: Maximum Subarray
  12. Linux下bash:command not found提示
  13. Java中导入Excel文件
  14. 高职计算机专业英语词汇,高职计算机专业英语词汇的学习方法
  15. 计算机office的好处,office2007精简版有什么优点?精简版优点介绍
  16. [附源码]计算机毕业设计JAVAJAVA大方汽车租赁管理系统
  17. python画成绩正态分布图_数据分析基础(1)——神奇的正态分布
  18. Hadoop2.7.2 分布式集群搭建(CentOS 7)
  19. State Threads 回调终结者(ST线程库)
  20. 安卓逆向——AS开发Xposed插件demo案例

热门文章

  1. 以太坊系列---ipc实现方式---管道通信库npipe
  2. MATALB实践分享——批量读取表格文件
  3. BeanDefinition使用方式
  4. 论android等平台回音消除解决方案
  5. vue项目运行后,生成的两个地址Local和Network的区别
  6. ubuntu中把软件放在桌面
  7. Unity之三维空间多点箭头导航
  8. webpack多入口
  9. Access比较和逻辑运算符。
  10. python3的变量和数据类型